Function executing device for executing communication of function execution information with terminal device

ABSTRACT

A function executing device may send screen display information to a terminal device via a first wireless interface without executing, via the first wireless interface, communication using specific authentication information, wherein the screen display information is for causing the terminal device to display a function screen. In a case where a first execution instruction for causing the function executing device to execute a first function is inputted to the terminal device after a function screen has been displayed in the terminal device, the function executing device may execute the communication using the specific authentication information with the terminal device via the first wireless interface and execute communication of first function execution information for executing the first function via the first wireless interface with the terminal device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional application of U.S. application Ser.No. 16/750,196 filed on Jan. 23, 2020, and claims priority to JapanesePatent Application No. 2019-023925 filed on Feb. 13, 2019 and JapanesePatent Application No. 2019-023930 filed on Feb. 13, 2019, the contentsof which are hereby incorporated by reference into the presentapplication.

TECHNICAL FIELD

The disclosure herein discloses a technique relating to a device capableof executing communication in which specific authentication informationis used.

DESCRIPTION OF RELATED ART

A communication device that executes pairing with an informationprocessing device in accordance with BLE (Bluetooth (registeredtrademark) Low Energy) standard is known. In response to receiving apairing request from the information processing device, thecommunication device displays a PIN (Personal Identification Number)code for using GATT (Generic Attribute Profile) communication. In a casewhere the displayed PIN code is inputted to the information processingdevice, the communication device receives the PIN code from theinformation processing device. Thereby, authentication of the PIN codeis executed such that the GATT communication can be used. By using theGATT communication, the communication device supplies a list of servicessupported by the communication device to the information processingdevice. In order to provide a remote UI service included in the list,the information processing device uses the GATT communication to send apassword to the communication device. In a case where the informationprocessing device receives an access permission response as a responseto the password from the communication device, the informationprocessing device displays the remote UI.

SUMMARY

In the above-described technique, the authentication of the PIN code isexecuted, for example, even in a case where a service desired by a useris not included in the services supported by the communication device.The disclosure herein provides a novel technique for addressing problemsin the above-described technique.

A function executing device disclosed herein may comprise: a firstwireless interface; a processor; and a storage storing computer-readableinstructions, wherein the computer-readable instructions, when executedby the processor, may cause the function executing device to: establisha first wireless connection with a terminal device via the firstwireless interface; send screen display information to the terminaldevice via the first wireless interface by using the first wirelessconnection without executing, via the first wireless interface,communication using specific authentication information that is preparedby one device among the function executing device and the terminaldevice, wherein the screen display information is for causing theterminal device to display a function screen indicating one or morefunctions that the function executing device is capable of executing; ina case where a first execution instruction for causing the functionexecuting device to execute a first function is inputted to the terminaldevice after the function screen has been displayed in the terminaldevice, establish a second wireless connection with the terminal devicevia the first wireless interface; execute the communication using thespecific authentication information with the terminal device via thefirst wireless interface by using the second wireless connection; andafter the communication using the specific authentication informationhas been executed, execute communication of first function executioninformation for executing the first function via the first wirelessinterface with the terminal device.

A non-transitory computer-readable medium storing computer-readableinstructions for a terminal device is disclosed herein. Thecomputer-readable instructions, when executed by a processor of theterminal device, may cause the terminal device to: supply a firstcommand to an Operating System (OS) program of the terminal device, thefirst command being for establishing a first wireless connection with afunction executing device via a first wireless interface of the terminaldevice; receive screen display information from the function executingdevice via the first wireless interface by using the first wirelessconnection without executing, via the first wireless interface,communication using specific authentication information prepared by onedevice among the function executing device and the terminal device,wherein the screen display information is for causing the terminaldevice to display a function screen indicating one or more functionsthat the function executing device is capable of executing; in a casewhere the screen display information is received from the functionexecuting device, cause a display unit of the terminal device to displaythe function screen; in a case where a first execution instruction forcausing the function executing device to execute a first function isinputted to the terminal device after the function screen has beendisplayed in the display unit, supply a second command to the OSprogram, the second command being for establishing a second wirelessconnection with the function executing device via the first wirelessinterface; and after the communication using the specific authenticationinformation has been executed with the function executing device via thefirst wireless interface by using the second wireless connection,execute communication of first function execution information forexecuting the first function via the first wireless interface with thefunction executing device.

Another function executing device disclosed herein may comprise: a firstwireless interface; a processor; and a storage storing computer-readableinstructions, wherein the computer-readable instructions, when executedby the processor, may cause the function executing device to: sendscreen display information to a terminal device via the first wirelessinterface without executing a target process using specificauthentication information that is prepared by one device among thefunction executing device and the terminal device, wherein the screendisplay information is for causing the terminal device to display afunction screen indicating one or more functions that the functionexecuting device is capable of executing; in a case where a firstexecution instruction for causing the function executing device toexecute a first function is inputted to the terminal device after thefunction screen has been displayed in the terminal device, establish afirst wireless connection with the terminal device via the firstwireless interface; receive an execution request from the terminaldevice via the first wireless interface by using the first wirelessconnection without executing the target process using the specificauthentication information, the execution request being for causing thefunction executing device to execute the target process using thespecific authentication information; execute the target process usingthe specific authentication information in response to receiving theexecution request from the terminal device; and after the target processusing the specific authentication information has been executed, executecommunication of first function execution information for executing thefirst function via the first wireless interface with the terminaldevice.

Another non-transitory computer-readable medium storingcomputer-readable instructions for a terminal device is disclosedherein. The computer-readable instructions, when executed by a processorof the terminal device, causing the terminal device to: receive screendisplay information from a function executing device via a firstwireless interface of the terminal device without executing a targetprocess using specific authentication information that is prepared byone device among the function executing device and the terminal device,wherein the screen display information is for causing the terminaldevice to display a function screen indicating one or more functionsthat the function executing device is capable of executing; in a casewhere the screen display information is received from the functionexecuting device, cause a display unit of the terminal device to displaythe function screen; in a case where a first execution instruction forcausing the function executing device to execute a first function isinputted to the terminal device after the function screen has beendisplayed in the display unit, supply a command to an Operating System(OS) program of the terminal device, wherein the command is forestablishing a first wireless connection with the function executingdevice via the first wireless interface; send an execution request tothe function executing device via the first wireless interface by usingthe first wireless connection, the execution request being for causingthe function executing device to execute the target process using thespecific authentication information; and after the target process usingthe specific authentication information has been executed, executecommunication of first function execution information for executing thefirst function via the first wireless interface with the functionexecuting device.

A computer program for implementation of the above function executingdevice, a non-transitory computer-readable medium storing the computerprogram and a method implemented by the above function executing deviceare also novel and useful. A computer program for implementation of theabove terminal device, the terminal device itself and a methodimplemented by the above terminal device are also novel and useful.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of a communication system;

FIG. 2 shows a conceptual diagram of a Primary Service group;

FIG. 3 shows a data structure of the Primary Service group;

FIG. 4 shows a continuation of FIG. 3;

FIG. 5 shows a continuation of FIG. 4;

FIG. 6 shows a sequence diagram of a comparative example;

FIG. 7 shows a continuation of FIG. 6;

FIG. 8 shows a sequence diagram of processes common among first to fifthembodiments;

FIG. 9 shows a continuation of FIG. 8;

FIG. 10 shows a sequence diagram for a case in which an AP connectionbutton in a function screen is selected in the first and secondembodiments, or a case in which a BLE connection button in a functionscreen is selected in the fifth embodiment;

FIG. 11 shows a continuation of FIG. 10;

FIG. 12 shows a continuation of FIG. 11;

FIG. 13 shows a sequence diagram for a case in which a WFD connectionbutton in the function screen is selected in the first and secondembodiments;

FIG. 14 shows a continuation of FIG. 13;

FIG. 15 shows a sequence diagram for a case in which an errorinformation button in the function screen is selected in the first tofifth embodiments;

FIG. 16 shows a sequence diagram for a case in which the AP connectionbutton in a function screen is selected in the third and fourthembodiments;

FIG. 17 shows a continuation of FIG. 16 in the third embodiment; and

FIG. 18 shows a continuation of FIG. 16 in the fourth embodiment.

EMBODIMENTS First Embodiment Configuration of Communication System 2;FIG. 1

As shown in FIG. 1, a communication system 2 comprises a portableterminal 10 (hereinbelow simply termed “terminal 10”), a printer 100,and an AP (Access Point) 200. The terminal 10 is participating in awireless network formed by the AP 200 (hereinbelow termed “AP network”).The AP 200 stores an SSID (Service Set Identifier) “ap01” foridentifying the AP network, and a password “xxx” used in the AP network.

Configuration of Terminal 10

The terminal 10 is a portable terminal device such as a cellphone (e.g.,a smartphone), a PDA, a tablet PC, etc. The terminal 10 comprises adisplay unit 12, a wireless LAN interface 14, a BT (Bluetooth(registered trademark)) interface 16, and a controller 30. The units 12to 30 are connected to a bus line (reference number omitted).Hereinbelow, an interface will be simply termed “I/F”.

The display unit 12 is a display for displaying various types ofinformation. The display unit 12 also functions as a touch panel (i.e.,operation unit) which receives instructions from a user.

The wireless LAN I/F 14 is a wireless interface configured to executewireless communication according to a Wi-Fi scheme (hereinbelow termed“Wi-Fi communication”). The Wi-Fi scheme is a wireless communicationscheme for executing wireless communication according to 802.11 standardof IEEE (The Institute of Electrical and Electronics Engineers, inc.)and standards complying thereto (such as 802.11a, 11b, 11g, 11n, 11ac,etc.). The wireless LAN I/F 14 especially supports WFD (Wi-Fi Direct(registered trademark)) scheme established by the Wi-Fi Alliance. TheWFD scheme is a wireless communication scheme described in the standard“Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1” created bythe Wi-Fi Alliance.

The terminal 10 can operate in any of G/O (Group Owner) state, CL(Client) state, and device state of the WFD scheme. For example, theterminal 10 can operate as a client of the WFD scheme and participate asa child station in a wireless network (hereinbelow termed “WFD network”)formed by an external device (e.g., the printer 100) operating as a G/Oof the WFD scheme.

The BT I/F 16 is an I/F configured to execute wireless communicationaccording to a BT scheme. The BT scheme is a wireless communicationscheme based on, for example, 802.15.1 standard of the IEEE andstandards complying thereto. More specifically, the BT I/F 16 supportsBLE (Bluetooth Low Energy). The BLE is a standard implemented in version4.0 and later versions of the BT scheme. In the present embodiment, itis assumed that the BT I/F 16 supports BLE implemented in version 4.2.The BT I/F 16 is capable of executing wireless communication accordingto the BLE (hereinbelow termed “BLE communication”). In a variant, theBT I/F 16 may support BLE implemented in version 4.2 or a later version(e.g., 5.0).

Differences between the Wi-Fi scheme and the BT scheme will bedescribed. A communication speed of Wi-Fi communication (e.g., maximumcommunication speed is 600 Mbps) is faster than a communication speed ofBT communication (e.g., maximum communication speed is 24 Mbps). Acarrier wave frequency in the Wi-Fi communication is a 2.4 GHz band or5.0 GHz band. A carrier wave frequency in the BT communication is 2.4GHz band. That is, in a case where the 5.0 GHz band is adopted as thecarrier wave frequency in the Wi-Fi communication, the carrier wavefrequency in the Wi-Fi communication is different from the carrier wavefrequency in the BT communication. Further, a maximum distance withwhich the Wi-Fi communication can be executed (e.g., approximately 100m) is greater than a maximum distance with which the BT communicationcan be executed (e.g., approximately several tens of meters).

The controller 30 comprises a CPU 32 and a memory 34. The CPU 32 isconfigured to execute various processes in accordance with programs 36,38 stored in the memory 34. The memory 34 is constituted of a volatilememory, a non-volatile memory and the like, and stores the OS (OperatingSystem) program 36 (hereinbelow simply termed “OS 36”) and the printapplication 38 (hereinbelow simply termed “app 38”). In the presentembodiment, it is assumed that the OS 36 is iOS (registered trademark).

The OS 36 is a program for controlling basic operations of the terminal10. The app 38 is an application for sending print data to the printer100 by using a wireless connection according to the Wi-Fi scheme. Theapp 38 may be installed in the terminal 10, for example, from a serveron the Internet provided by a vendor of the printer 100, or may beinstalled in the terminal 10 from a medium shipped together with theprinter 100.

Configuration of Printer 100

The printer 100 is a peripheral device (e.g., a peripheral device of theterminal 10) capable of executing a print function. The printer 100comprises a display unit 112, a wireless LAN I/F 114, a BT I/F 116, anda controller 130.

The display unit 112 is a display for displaying various types ofinformation. The display unit 112 also functions as a touch panel (i.e.,operation unit) which receives instructions from the user. The wirelessLAN I/F 114 is the same as the wireless LAN I/F 14 of the terminal 10.That is, the wireless LAN I/F 114 supports the WFD scheme. The BT I/F116 is the same as the BT I/F 16 of the terminal 10. That is, the BT I/F116 supports the BLE.

The controller 130 comprises a CPU 132 and a memory 134. The CPU 132 isconfigured to execute various processes in accordance with a program 136stored in the memory 134. The memory 134 is constituted of a volatilememory, a non-volatile memory and the like, and stores a protocol stack138, WFD information 160, and a resume flag 162, in addition to theprogram 136.

The protocol stack 138 includes a protocol stack according to the BLE.The printer 100 uses the protocol stack 138 to operate as a server ofthe BT scheme, and can thereby execute BLE communication with theterminal 10 that is operating as a client of the BT scheme.

The protocol stack 138 has a hierarchical structure shown in FIG. 1.L2CAP (Logical Link Control and Application Protocol) is a stack forestablishing a wireless connection (hereinbelow termed “L2CAP Link”) viathe BT I/F 116. SMP (Security Manager Protocol) and ATT (AttributeProtocol) are upper layers of the L2CAP. The SMP is a protocol forencrypting information communicated via the L2CAP Link. The ATT is aprotocol for defining an access scheme between a server and a client incommunication via the L2CAP Link. GATT (Generic Attribute Profile) is anupper layer of the ATT and is a protocol for defining functions of theserver and the client. GAP (Generic Access Profile) is an upper layer ofthe L2CAP, SMP, ATT, and GATT and is a protocol for defining a functionshared among devices capable of executing BLE communication. A PrimaryService group is an upper layer of the GAP and is an application fordefining specific operations relating to BLE communication. Below,Primary Service is simply termed “PS”.

The WFD information 160 is information used for establishing a wirelessconnection according to the WFD scheme (hereinbelow termed “WFDconnection”). The WFD information 160 includes an SSID “p01” foridentifying a WFD network formed by the printer 100 that is operating asa G/O, and a password “yyy” used in this WFD network. The WFDinformation 160 may be stored in advance in the memory 134 at a shippingstage of the printer 100, or may be created when power of the printer100 is turned on.

The resume flag 162 indicates either one of “ON”, which indicates thatsending of an Advertise signal (hereinbelow simply termed “ADV signal”)according to the BT scheme is resumed immediately after it is stopped,and “OFF”, which indicates that sending of the ADV signal is not resumedimmediately after it is stopped. The resume flag 162 is set to “ON” whenthe power of the printer 100 is turned on.

Concept of PS Group; FIG. 2

The concept of the PS group included in the protocol stack 138 will bedescribed with reference to FIG. 2. A table of FIG. 2 shows the PS groupconceptually for ease of understanding, and is different from thespecific data structure of the PS group. The data structure of the PSgroup will be described with reference to FIG. 3 to FIG. 5 afterexplanation as to FIG. 2 has finished. The PS group is divided into afirst type of PS defined by Bluetooth SIG (that is, predetermined by theBT scheme standard), and a second type of PS defined by the vendor ofthe printer 100.

First Type of PS

The first type of PS includes GAP Service 138A. Hereinbelow, GAP Serviceis simply termed “GA”. The GA 138A is a PS for sending informationrelated to the BT I/F 116. This information includes, for example, adevice name DN indicating the BT I/F 116, information indicating astandard supported by the BT I/F 116, etc. A UUID “0x1800” that ispredetermined by the BT scheme standard as an identifier for identifyinga PS corresponding to the GA is assigned to the GA 138A. The GA 138Aincludes a plurality of Characteristics. The Characteristics areinformation defining specific functions of the PS. The plurality ofCharacteristics included in the GA 138A includes a Characteristic“Device Name” that defines sending of the device name DN. A UUID“0x2A00” predetermined by the BT scheme standard as an identifier foridentifying this Characteristic is assigned to “Device Name”. In FIG. 2,depiction of other Characteristics included in the GA 138A is omitted.

Second Type of PS

The second type of PS includes a Function Service 138B, an AP Connection138C, a WFD Connection 138D, a BT Control 138E, and an Error Service138F.

Function Service 138B

Hereinbelow, Function Service is simply termed “FS”. The FS 138B is a PSfor sending function information FI that indicates a plurality offunctions the printer 100 is capable of executing. The functioninformation FI includes information indicating the print function,information indicating a function of establishing a wireless connectionwith an AP (e.g., the AP 200) (hereinbelow termed “AP connection”),information indicating a function of establishing a WFD connection, andinformation indicating a function of sending an error URL. A UUID “aaa0”determined by the vendor of the printer 100 as an identifier foridentifying the PS corresponding to the FS is assigned to the FS 138B.UUIDs for identifying the second type of PS, which will be describedbelow, are also determined by the vendor of the printer 100. The UUID“aaa0” has the greater number of digits than a UUID predetermined by theBT scheme standard (e.g., the UUID “0x1800”), but is simplified in thepresent disclosure.

The FS 138B includes a Characteristic “Function Information” thatdefines sending of the function information FI. A UUID “aaa1” determinedby the vendor of the printer 100 as an identifier for identifying thisCharacteristic is assigned to the “Function Information”. UUIDs foridentifying Characteristics included in the second type of PS are alsodetermined by the vendor of the printer 100.

AP Connection 138C

Hereinbelow, AP Connection is simply termed “AC”. The AC 138C is a PSfor establishing an AP connection. A UUID “bbb0” is assigned to the AC138C. The AC 138C includes four Characteristics including “ConnectionStatus”, “IP Address”, “Connection Information”, and “ChangePermission”.

“Connection Status” is a Characteristic (UUID “bbb1”) that definessending of AP state information that indicates a state of the printer100 relating to an AP connection. The AP state information indicates anyone of a plurality of states including “Disable”, “Enable”, “Busy”, and“Error”. “Disable” indicates that the printer 100 is set in a state thatdoes not allow establishment of an AP connection. “Enable” indicatesthat the printer 100 is set in a state that allows establishment of anAP connection. “Busy” indicates that a process for establishing an APconnection is being executed. “Error” indicates that the process forestablishing an AP connection has failed.

“IP Address” is a Characteristic (UUID “bbb2”) that defines sending ofan IP address IA of the printer 100.

“Connection Information” is a Characteristic (UUID “bbb3”) that definesreception of an SSID and a password of an AP (e.g., the AP 200) withwhich a communication partner (e.g., the terminal 10) is establishing awireless connection.

“Change Permission” is a Characteristic (UUID “bbb4”) that definesreception of an instruction for changing a value of AttributePermission, which will be described later. The Change Permission is usedin the third and fourth embodiments, and is not used in the first andsecond embodiments.

WFD Connection 138D

Hereinbelow, WFD Connection is simply termed “WC”. The WC 138D is a PS(UUID “ccc0”) for establishing a WFD connection. The WC 138D includesfour Characteristics including “Connection Status”, “ConnectionInformation”, “Public Key”, and “Change Status”.

“Connection Status” is a Characteristic (UUID “ccc1”) that definessending of WFD state information that indicates a state of the printer100 relating to a WFD connection. The WFD state information indicatesany one of a plurality of states including “Disable”, “Enable”, “Ready”,“Start”, and “Error”. “Disable” indicates that the printer 100 is set ina state that does not allow establishment of a WFD connection. “Enable”indicates that the printer 100 is set in a state that allowsestablishment of a WFD connection. “Ready” indicates that a process ofencrypting the WFD information 160 by using a public key has completed.“Start” indicates that the printer 100 has started operating as the G/O.“Error” indicates that a process for establishing a WFD connection hasfailed.

“Connection Information” is a Characteristic (UUID “ccc2”) that definessending of WFD information encrypted by using a public key (hereinbelowtermed “encrypted WFD information”).

“Public Key” is a Characteristic (UUID “ccc3”) that defines reception ofa public key.

“Change Status” is a Characteristic (UUID “ccc4”) that defines receptionof an instruction for changing the state of the printer 100 relating toa WFD connection (e.g., an instruction for causing the printer 100 tooperate as the G/O).

BT Control 138E

Hereinbelow, BT Control is simply termed “BC”. The BC 138E is a PS (UUID“ddd0”) for receiving an instruction for changing a state of the BT I/F116. The BC 138E includes two Characteristics including “PairingControl” and “Advertising Control”.

“Pairing Control” is a Characteristic (UUID “ddd1”) that definesreception of an instruction for disconnecting an L2CAP Link that hasbeen established.

“Advertising Control” is a Characteristic (UUID “ddd2”) that definesreception of an instruction for changing the resume flag 162 from “ON”to “OFF”.

Error Service 138F

Hereinbelow, Error Service is simply termed “ES”. The ES 138F is a PS(UUID “eee0”) for sending an error URL. The error URL is a URLindicating a Web page that describes a method of resolving an errorstate in which the printer 100 cannot execute the print function (e.g.,paper jam). The ES 138F includes a Characteristic “Error Information(UUID “eee1”)” that defines sending of such an error URL.

Data Structure of PS Group; FIG. 3 to FIG. 5

The concept of the PS group was described with reference to FIG. 2.Next, a specific data structure of the PS group will be described withreference to FIG. 3 to FIG. 5.

The PS group has a table structure in which Handles, Attribute Types,Attribute Values, and Attribute Permissions are associated with eachother. The Handles are serial numbers starting from “0x0001”. In FIG. 3to FIG. 5, some data structure after “0x0002” is omitted. For thisreason, the Handles after “0x0002” are represented not in actual values,but in symbols “nk (k=1, 2, 3 . . . )”. The Attribute Types (hereinbelowsimply termed “ATypes”) are identifiers (that is, UUIDs) indicatingtypes of communication target information. The Attribute Values(hereinbelow simply termed “AValues”) indicate the communication targetinformation. The Attribute Permissions (hereinbelow simply termed“APers”) are items related to the SMP, more specifically, indicatepermission conditions for readout and/or writing of information.

Specifically, each of the APers stores values each indicating thefollowing four items. The first item is an item that indicates whetherto permit readout and/or writing of information, and each Aper storesone value that indicates any one of “Readable”, “Writeable”, and“Readable and writeable”. The second item is an item that indicateswhether Encryption is required or not when the readout or writing ofinformation is executed, and each Aper stores one value that indicatesany one of “Encryption required” and “No encryption required”. The thirditem is an item that indicates whether Authentication is required or notwhen the readout or writing of information is executed, and each Aperstores one value that indicates any one of “Authentication required” and“No authentication required”. The fourth item is an item that indicateswhether Authorization is required or not when the readout or writing ofinformation is executed, and each Aper stores one value that indicatesany one of “Authorization required” and “No authorization required”. Ina case where a value indicating any one of “Encryption required”,“Authentication required”, and “Authorization required” is stored in theAPer, readout and/or writing of information is permitted on conditionthat authentication communication according to the SMP is executed.Further, in a case where a value indicating “No encryption required”,“No authentication required” and “No authorization required” is storedin the APer, readout and/or writing of information is permitted withoutexecution of authentication communication according to the SMP. Itshould be noted that FIG. 3 to FIG. 5 show these values in a simplifiedmanner For example, in a case where the APer indicates “Readable withoutauthentication”, this Aper actually stores the value indicating“Readable” as the aforementioned first item and the value indicating “Noauthentication required” as the aforementioned third item. It should befurther noted that the APers in FIG. 3 to FIG. 5 omit the second itemand the fourth item. Actually, each of the Apers stores the valueindicating “No encryption required” as the aforementioned second itemand the value indicating “No authorization required” as theaforementioned fourth item. In the following description, unlessotherwise specifically mentioned, each of the Apers stores the valueindicating “No encryption required” as the second item and the valueindicating “No authorization required” as the fourth item. In a casewhere the APer stores values indicating “Readable without authenticationwhen discoverable”, this Aper stores the value indicating “Readable” asthe first item, the value indicating “No authentication required” as thethird item, and the value indicating “No authorization required” as thefourth item, and additionally, in a case where a condition that thestate of the server is a Discoverable state (that is, “whendiscoverable”) (to be described later) is satisfied, this APer furtherstores a value that indicates readout of information is permittedwithout executing authentication communication according to the SMP, inaccordance with “No authentication required” and “No authorizationrequired”. As described above, it should be noted that the descriptionsof APers in the drawings do not completely match the actual itemsdescribed in the Bluetooth SIG standard, but they merely conceptuallyindicate the conditions related to the SMP.

First Type of PS GAP Service (GA) 138A

The GA 138A is a data group corresponding to the Handle range of“0x0001” to a predetermined value (a value immediately before “n2”). TheAType corresponding to the Handle “0x0001” includes a UUID “0x2800”indicating that it is the first data in a data group constituting onePS. The AValue corresponding to the Handle “0x0001” includes the UUID“0x1800” for distinguishing the GA 138A from the other PSs. The APercorresponding to the Handle “0x0001” includes values indicating“Readable without authentication”. These values mean that informationcan be read out without encryption of the information according to theSMP.

The AType corresponding to the Handle “0x0002” includes a UUID “0x2803”indicating a Characteristic Declaration. A Characteristic Declaration isdata that defines a property, a UUID, and the like of a Characteristic.Here, the property indicates any one of plural pieces of informationincluding “Read” which indicates that the Characteristic definesinformation to be read out, “Write” which indicates that theCharacteristic defines information to be written, and the like. TheAValue corresponding to the Handle “0x0002” includes a propertyindicating “Read”, a Handle “n1” corresponding to information of theCharacteristic, and the UUID “0x2A00” of the Characteristic. The APercorresponding to the Handle “0x0002” includes values indicating“Readable without authentication”.

The AType corresponding to the Handle “n1” includes the UUID “0x2A00” ofthe Characteristic “Device Name”. The AValue corresponding to the Handle“n1” includes the device name DN. The APer corresponding to the Handle“n1” includes values indicating “Readable without authentication whendiscoverable”. These values mean that in a case where the state of aperipheral (that is, the printer 100) of the BT scheme is theDiscoverable state, information (here, the device name DN) can be readout without encryption of the information according to the SMP. Thismeans, in other words, that in a case where the state of the peripheralis not the Discoverable state (that is, is a non-Discoverable state),the information can be read out on condition that the information isencrypted according to the SMP. Here, the Discoverable state is a statein which the peripheral is repeatedly sending the ADV signal. In otherwords, the Discoverable state is a state in which a central of the BTscheme can detect the presence of the peripheral when the ADV signal isreceived by the central. Further, the ADV signal sent in theDiscoverable state includes a predetermined value related to being inthe Discoverable state. Here, the “predetermined value” is, for example,LE Limited Discoverable Mode flag “1” defined by the BT scheme standardor LE General Discoverable Mode flag “1” defined by the BT schemestandard. On the other hand, the non-Discoverable state indicates astate in which the peripheral is not sending the ADV signal, or a statein which the peripheral is repeatedly sending the ADV signal but thisADV signal does not include the aforementioned predetermined value (inother words, a state in which the ADV signal includes both LE LimitedDiscoverable Mode flag “0” and LE General Discoverable Mode flag “0”).“Readable without authentication when discoverable” is an item definedin the standard of version 4.2 or later. Hereinbelow, in a situation inwhich the ADV signal is sent, the ADV signal includes the predeterminedvalue relating to the Discoverable state, unless otherwise mentioned.

Since the GA 138A has the above-described data structure, the devicename DN in the GA 138A is read out as follows. When the CPU 132 (thatis, the server) receives a Read By Type Request signal that designatesthe UUID “0x2803” from a client, the CPU 132 permits the client to readout the AValue corresponding to the UUID “0x2803” (that is, the property“Read”, the Handle “n1”, and the UUID “0x2A00”) in accordance with“Readable without authentication” indicated by the APer corresponding tothe UUID “0x2803”. As a result, the client can read out (that is,receive) these information, and based on these information, the clientcan be aware that it is possible to execute “Read” for the informationcorresponding to the Handle “n1” and the UUID “0x2A00”. Then, the clientsends a Read By Type Request signal that designates the UUID “0x2A00” tothe server. When the server receives this signal from the client, theserver permits the client to read out the AValue corresponding to theUUID “0x2A00” (that is, the device name DN) in accordance with “Readablewithout authentication when discoverable” indicated by the APercorresponding to the UUID “0x2A00”. Thereby, the client can read out thedevice name DN.

For the first type of PS, among the above items such as “Readablewithout authentication”, items predetermined by the SIG are adopted.That is, for example, for the APer corresponding to the Handle “n1”,only “Readable without authentication when discoverable” can be adopted,and the vendor of the printer 100 cannot adopt another item for it. Onthe other hand, for the second type of PS described below, the vendor ofthe printer 100 can adopt any of the above items.

Second Type of PS Function Service (FS) 138B

The FS 138B is a data group corresponding to a Handle range of “n2” to“n4”. The AType corresponding to the Handle “n2” includes the UUID“0x2800” indicating that it is the first data in the FS 138B. The AValuecorresponding to the Handle “n2” includes the UUID “aaa0” fordistinguishing the FS 138B from the other PSs. The APer corresponding tothe Handle “n2” includes values indicating “Readable withoutauthentication”.

The AType corresponding to the Handle “n3” includes the UUID “0x2803”indicating a Characteristic Declaration. The AValue corresponding to theHandle “n3” includes the property “Read”, the Handle “n4”, and the UUID“aaa1”. The APer corresponding to the Handle “n3” includes valuesindicating “Readable without authentication”.

The AType corresponding to the Handle “n4” includes the UUID “aaa1” ofthe Characteristic “Function Information”. The AValue corresponding tothe Handle “n4” includes the function information FI. The APercorresponding to the Handle “n4” includes values indicating “Readablewithout authentication”.

AP Connection (AC) 138C

As shown in FIG. 4, the AC 138C is a data group corresponding to aHandle range of “n5” to “n13”. The AType corresponding to the Handle“n5” includes the UUID “0x2800” indicating that it is the first data inthe AC 138C. The AValue corresponding to the Handle “n5” includes theUUID “bbb0” for distinguishing the AC 138C from the other PSs. The APercorresponding to the Handle “n5” includes values indicating “Readablewithout authentication”.

Each of the ATypes corresponding to the Handles “n6” to “n9” includesthe UUID “0x2803” indicating a Characteristic Declaration. The AValuecorresponding to the Handle “n6” includes the property “Read”, theHandle “n10”, and the UUID “bbb1”. Similarly, each of the AValuescorresponding to the Handles “n7” to “n9” includes a property, a Handle,and a UUID. The properties corresponding to the Handles “n8” and “n9”are not “Read” but “Write”. Further, each of the APers corresponding tothe Handles “n6” to “n9” include values indicating “Readable withoutauthentication”.

The AType corresponding to the Handle “n10” includes the UUID “bbb1” ofthe Characteristic “Connection Status”. The AValue corresponding to theHandle “n10” includes the AP state information (e.g., “Disable”). TheAPer corresponding to the Handle “n10” includes values indicating“Readable without authentication”.

The AType corresponding to the Handle “n11” includes the UUID “bbb2” ofthe Characteristic “IP Address”. The AValue corresponding to the Handle“n11” includes the IP address IA. The APer corresponding to the Handle“n11” includes values indicating “Readable without authentication”.

The AType corresponding to the Handle “n12” includes the UUID “bbb3” ofthe Characteristic “Connection Information”. An SSID and a password ofan AP (e.g., 200) are to be written by the client as the AValuecorresponding to the Handle “n12”. Before the information is written,this AValue includes empty information (e.g. Null value). The APercorresponding to the Handle “n12” includes values indicating “Writeablewithout authentication”. These values mean that information (here, theSSID and the password) can be written without encryption of theinformation according to the SMP.

The AType corresponding to the Handle “n13” includes the UUID “bbb4” ofthe Characteristic “Change Permission”. A Permission change instruction,which is for changing values of an Attribute Permission, is to bewritten as the AValue corresponding to the Handle “n13”. The APercorresponding to the Handle “n13” includes values indicating “Writeablewithout authentication”.

Since the AC 138C has the above-described data structure, information iswritten as the AValue corresponding to the UUID “n12” in the AC 138C asfollows, for example. When the CPU 132 (that is, the server) receives aRead By Type Request signal that designates the UUID “0x2803” from theclient, the CPU 132 permits the client to read out the AValuescorresponding to the UUIDs “0x2803” (that is, the property “Read (orWrite)”, the Handles “n10” to “n13”, and the UUIDs “bbb1” to “bbb4”) inaccordance with “Readable without authentication” indicated by the APerscorresponding to the UUID “0x2803”. As a result, the client can read outthese pieces of information, and based on these information, the clientcan be aware that it is possible to execute “Write” for informationcorresponding to the Handle “n12” and the UUID “bbb3”, for example.Then, the client sends, to the server, a Write Request signal thatdesignates the Handle “n12” and includes information to be written (thatis, an SSID and a password). When the server receives this signal, theserver permits the information to be written as the AValue correspondingto the Handle “n12” in accordance with “Writeable withoutauthentication” indicated by the APer corresponding to the Handle “n12”.Thereby, the client can write the SSID and the password.

WFD Connection (WC) 138D

As shown in FIG. 5, the WC 138D is a data group corresponding to aHandle range of “n14” to “n22”. The AType corresponding to the Handle“n14” includes the UUID “0x2800” indicating that it is the first data inthe WC 138D. The AValue corresponding to the Handle “n14” includes theUUID “ccc0” for distinguishing the WC 138D from the other PSs. The APercorresponding to the Handle “n14” includes values indicating “Readablewithout authentication”.

Each of the ATypes corresponding to the Handles “n15” to “n18” includesthe UUID “0x2803” indicating a Characteristic Declaration. The AValuecorresponding to the Handle “n15” includes the property “Read”, theHandle “n19”, and includes the UUID “ccc1”. Similarly, each of theAValues corresponding to the Handles “n16 to” to “n18” includes aproperty, a Handle, and a UUID. The properties corresponding to theHandles “n17” and “n18” are not

“Read” but “Write”. Further, each of the APers corresponding to theHandles “n15” to “n18” includes values indicating “Readable withoutauthentication”.

The AType corresponding to the Handle “n19” includes the UUID “ccc1” ofthe Characteristic “Connection Status”. The AValue corresponding to theHandle “n19” includes the WFD state information (e.g., “Disable”). TheAPer corresponding to the Handle “n19” includes values indicating“Readable without authentication”.

The AType corresponding to the Handle “n20” includes the UUID “ccc2” ofthe Characteristic “Connection Information”. The AValue corresponding tothe Handle “n20” can include encrypted WFD information. Here, before theWFD information 160 is encrypted, this AValue does not include encryptedWFD information, but includes empty information (e.g. Null value).Further, the APer corresponding to the Handle “n20” includes valuesindicating “Readable without authentication”.

The AType corresponding to the Handle “n21” includes the UUID “ccc3” ofthe Characteristic “Public Key”. A public key is to be written as theAValue corresponding to the Handle “n21”. Further, the ATypecorresponding to the Handle “n22” includes the UUID “ccc4” of theCharacteristic “Change Status”. An instruction for changing the staterelating to the WFD connection (e.g., an Enable instruction for changingthe state of the printer 100 from “Disable” to “Enable”, a Startinstruction for causing the printer 100 to operate as G/O) is to bewritten as the AValue corresponding to the Handle “n22”. Each of theAPers corresponding to the Handles “n21” and “n22” includes valuesindicating “Writeable without authentication”.

BT Control (BC) 138E

The BC 138E is a data group corresponding to a Handle range of “n23” to“n27”. The AType corresponding to the Handle “n23” includes the UUID“0x2800” indicating that it is the first data in the BC 138E. The AValuecorresponding to the Handle “n23” includes the UUID “ddd0” fordistinguishing the BC 138E from the other PSs. The APer corresponding tothe Handle “n23” includes values indicating “Readable withoutauthentication”.

Each of the ATypes corresponding to the Handles “n24” and “n25” includesthe UUID “0x2803” indicating a Characteristic Declaration. The AValuecorresponding to the Handle “n24” includes the property “Write”, theHandle “n26”, and the UUID “ddd1”. Similarly, the AValue correspondingto the Handle “n25” includes a property, a Handle, and a UUID.

The AType corresponding to the Handle “n26” includes the UUID “ddd1” ofthe Characteristic “Pairing Control”. A disconnect instruction fordisconnecting an L2CAP Link is to be written as the AValue correspondingto the Handle “n26”. The AType corresponding to the Handle “n27”includes the UUID “ddd2” of the Characteristic “Advertising Control”. Aresume flag OFF instruction for changing the resume flag 162 from “ON”to “OFF” is to be written as the AValue corresponding to the Handle“n27”. Each of the APers corresponding to the Handles “n26” and “n27”includes values indicating “Writeable without authentication”.

Error Service (ES) 138F

The ES 138F is a data group corresponding to a Handle range of “n28” to“n30”. The AType corresponding to the Handle “n28” includes the UUID“0x2800” indicating that it is the first data in the ES 138F. The AValuecorresponding to the Handle “n28” includes the UUID “eee0” fordistinguishing the ES 138F from the other PSs. The APer corresponding tothe Handle “n28” includes values indicating “Readable withoutauthentication”.

The AType corresponding to the Handle “n29” includes the UUID “0x2803”indicating a Characteristic Declaration. The AValue corresponding to theHandle “n29” includes the property “Read”, the Handle “n30”, and theUUID “eee1”. The APer corresponding to the Handle “n29” includes valuesindicating “Readable without authentication”.

The AType corresponding to the Handle “n30” includes the UUID “eee1” ofthe Characteristic “Error Information”. The AValue corresponding to theHandle “n30” can include an error URL. Here, when the printer 100 is notin an error state, this AValue does not include an error URL, butincludes empty information (e.g. Null value). Further, the APercorresponding to the Handle “n30” includes values indicating “Readablewithout authentication”.

Comparative Example; FIG. 6 and FIG. 7

Before describing processes executed by the terminal 10 and the printer100 of the present embodiment, processes executed by a portable terminal300 (hereinbelow simply termed “terminal 300”) and a printer 500 of acomparative example will be described. The terminal 300 comprises the OS36, however, it comprises an app 338 that is different from the app 38which realizes the processes of the present embodiment (see FIG. 8 toFIG. 18, to be described later). The printer 500 comprises a programthat is different from the program 136 which realizes the processes ofthe present embodiment and does not store the resume flag 162. Further,a PS group of the comparative example includes at least the GA 138A andthe FS 138B. Below, for easier understanding, processes executed by aCPU of the terminal 300 according to the OS 36 and the app 338 will bedescribed with the OS 36 and the app 338 as subjects of action. Further,since all communications of the comparative example are executed via BTI/Fs of the terminal 300 and the printer 500, a phrase “via BT UF” willbe omitted below.

In T10, an operation for activating the app 338 is performed by the userto the terminal 300, as a result of which the app 338 is activated. Inthis case, in T12, the app 338 supplies a Scan start command to the OS36. The Scan start command is a command for starting sending of a ScanRequest signal.

Further, in T14, an operation for turning on the power of the printer500 is performed by the user to the printer 500. In T20, the printer 500starts sending an ADV signal by broadcast. This signal includes aconnection allowance parameter “ADV_IND” predetermined by the BT schemestandard. This parameter indicates that establishment of an L2CAP Linkwith a device that receives the ADV signal is allowed. In a variant, theconnection allowance parameter may be “ADV_DIRECT_IND”.

In a case of obtaining the Scan start command from the app 338 (T12) andreceiving the ADV signal from the printer 500 (T20), the OS 36 sends aScan Request signal to the printer 500 in T22. This signal is a signalfor requesting information of the sender device of the ADV signal (here,the printer 500).

In T24, the OS 36 receives a Scan Response signal from the printer 500as a response to the Scan Request signal. This signal includes a modelname “model0” of the printer 500. Upon receiving the signal, the OS 36supplies the signal to the app 338.

Upon obtaining the Scan Response signal from the OS 36, the app 338causes a display unit of the terminal 300 to display a connectionconfirmation screen in T26. The connection confirmation screen is ascreen for confirming with the user whether to establish a wirelessconnection according to the BT scheme (that is, an L2CAP Link) with theprinter 500. The connection confirmation screen includes the model name“model0” included in the Scan Response signal, and a connection buttonfor accepting an instruction to establish an L2CAP Link.

Upon accepting selection of the connection button in the connectionconfirmation screen in T28, the app 338 supplies a connection startcommand to the OS 36 in T30. The connection start command is a commandfor starting sending of a CONNECT_IND signal. This signal is a signalfor requesting establishment of an L2CAP Link. Among below-describedprocesses of T30 to T80 which are triggered by the connection startcommand being obtained, processes executed by the OS 36 are executedautomatically by the OS 36 and cannot be halted by a command from theapp 338.

Upon obtaining the connection start command from the app 338 in T30, theOS 36 sends the CONNECT_IND signal to the printer 500 in T32. When thissignal is sent to the printer 500, an L2CAP Link is established betweenthe terminal 300 and the printer 500 in T34.

When the L2CAP Link is established in T34, the printer 500 stops sendingthe ADV signal in T36. That is, the printer 500 shifts from theDiscoverable state to the non-Discoverable state. This stop on sendingof the ADV signal in response to establishment of the L2CAP Link is, forexample, according to the specifications of a chip of the BT I/F 116.

The OS 36 executes below-described processes of T38 to T78 by using theL2CAP Link established in T34. The processes of T38 to T78 are executedaccording to the specifications of iOS. That is, iOS has specificationsfor automatically obtaining information of a PS group when an L2CAP Linkis established. In T38, the OS 36 sends a Read By Group Type Requestsignal (hereinbelow simply termed “Group_Req signal”) defined by the ATTto the printer 500. The Group_Req signal is a signal for reading outinformation that indicates a configuration of PS group in a protocolstack of the printer 500.

Upon receiving the Group_Req signal from the terminal 300 in T38, theprinter 500 sends in T40, to the terminal 300, UUIDs of its respectivePSs, initial Handles of the PSs, and last Handles of the PSs, as aresponse to the Group_Req signal. Specifically, the printer 500 obtains,from its PS group, the AValues corresponding to the UUID “0x2800”indicating the first data. As shown in FIG. 3, the UUID “0x1800” of theGA 138A, “aaa0” of the FS 138B, and the like are obtained as the AValuescorresponding to the UUID “0x2800”. Further, the printer 500 obtains theinitial Handles of the respective PSs (e.g., the initial Handle “0x0001”of the GA 138A, the initial Handle “n2” of the FS 138B, etc.), and thelast Handles of the respective PSs (e.g., the last Handle of the GA 138A(the value immediately before n2), the last Handle “n4” of the FS 138B,etc.). Then, the printer 500 sends the obtained information to theterminal 300. Thereby, the terminal 300 can be aware of theconfiguration of the PS group of the printer 500.

Next, the OS 36 uses the information received in T40 to sequentiallysend to the printer 500 a plurality of Read By Type Request signals(hereinbelow, simply termed “Type_Req signals”) corresponding to theplurality of PSs. The Type_Req signals are signals that designateATypes, and are for reading out the AValues corresponding to thedesignated ATypes. Specifically, the OS 36 executes the followingprocesses.

First, in T42A, the OS 36 sends a Type_Req signal to the printer 500,for the GA 138A which is the PS corresponding to the Handle “0x0001”having the smallest value. Specifically, in T42A, the OS 36 sends, tothe printer 500, a Type_Req signal that includes the UUID “0x2803” (thatis, the Characteristic Declaration), the initial Handle “0x0001” of theGA 138A, and the last Handle of the GA 138A (description omitted).

Upon receiving the Type_Req signal from the terminal 300 in T42A, theprinter 500 specifies the Handle “0x0002” corresponding to the UUID“0x2803” included in the Type_Req signal, from among the data groupincluded within the Handle range indicated by the initial Handle“0x0001” and the last Handle included in the Type_Req signal. Next, theprinter 500 specifies the AValue and the APer corresponding to thespecified Handle “0x0002”. Here, the specified APer indicates “Readablewithout authentication”. Therefore, the printer 500 sends in T42B thespecified Handle “0x0002” and the specified AValue (that is, theproperty “Read”, the Handle “n1”, and the UUID “0x2A00”) to the terminal300 as a response to the Type_Req signal, without encryption of theinformation according to the SMP.

Upon receiving the Handle “0x0002” and the AValue from the printer 500in T42B, the OS 36 sends a Type_Req signal including the UUID “0x2A00”of the AValue to the printer 500 in T42C. The signal further includesthe initial Handle “0x0001” of the GA 138A and the last Handle of the GA138A.

Upon receiving the Type_Req signal from the terminal 300 in T42C, theprinter 500 specifies the Handle “n1” corresponding to the UUID “0x2A00”included in the Type_Req signal, from among the data group includedwithin the Handle range indicated by the initial Handle “0x0001” and thelast Handle included in the signal. Next, the printer 500 specifies theAValue and the APer corresponding to the specified Handle “n1”. Here,the specified APer indicates “Readable without authentication whendiscoverable”. As described above, the printer 500 is currently in thenon-Discoverable state. Therefore, the printer 500 permits theinformation to be read out on condition that the information isencrypted according to the SMP. However, a key for encrypting theinformation according to the SMP (a Long Term Key, which is to bedescribed later, in the present comparative example) has not beencreated yet at this time. For this reason, the printer 500 cannotencrypt the information according to the SMP, as a result of which theprinter 500 sends an Error Response signal to the terminal 300 in T46.

Upon receiving the Error Response signal from the printer 500 in T46,the OS 36 sends a Pairing Request signal to the printer 500 in T48. Thissignal is a signal for starting a process related to the SMP.

Upon receiving the Pairing Request signal from the terminal 300 in T48,the printer 500 sends a Pairing Response signal to the terminal 300 inT50. Then, in T52, the printer 500 displays a PIN code “1234”. Thereby,the user can be aware of the PIN code “1234”.

Upon receiving the Pairing Response signal from the printer 500 in T50,the OS 36 causes the display unit of the terminal 300 to display, inT54, a PIN input screen to which a PIN code is inputted.

As shown in FIG. 7, in T60, the OS 36 accepts input of the PIN code“1234” in the PIN input screen. As a result, in T62, authenticationcommunication according to the SMP is executed between the OS 36 and theprinter 500. During at least a part of the authentication communication,encrypted information, which is information encrypted by the inputtedPIN code “1234”, is communicated. Then, in a case where decryption ofthe encrypted information succeeds, the printer 500 sends a Long TermKey (hereinbelow simply termed “Key”) to the terminal 300. Thereby, inbelow-described processes from T72 onward, information to becommunicated by the BLE between the OS 36 and the printer 500 isencrypted by the Key. In FIG. 7, thin arrows and thick arrowsrespectively represent communication of unencrypted information andcommunication of information encrypted in accordance with the SMP. Thesame applies to the following figures.

Upon completion of the authentication communication of T62, the OS 36again sends a Type_Req signal, which is the same as that of T42C of FIG.6, to the printer 500 in T72. As described above, the information inthis signal is encrypted by the Key.

Upon receiving the Type_Req signal from the terminal 300 in T72, theprinter 500 decrypts the information in the signal by using the Key andspecifies the Handle “n1” corresponding to the UUID “0x2A00” included inthe Type_Req signal from among the data group included within the Handlerange indicated by the initial Handle “0x0001” and the last Handleincluded in the decrypted information. Next, the printer 500 specifiesthe AValue and the APer corresponding to the specified Handle “n1”.Here, the specified APer indicates “Readable without authentication whendiscoverable”. Although the printer 500 is in the non-Discoverablestate, it can encrypt information according to the SMP because theauthentication process of T62 has been executed. Therefore, the printer500 permits the information included in this AValue (that is, the devicename DN) to be read out. Therefore, the printer 500 encrypts the devicename DN by using the Key, and sends the encrypted device name DN to theterminal 300 in T74.

Next, in T76A, the OS 36 sends a Type_Req signal to the printer 500, fora PS that corresponds to the second smallest Handle after the Handle“0x0001” in the PS group. That is, the OS 36 sends a Type_Req signal tothe printer 500, for the FS 138B (Handle “n2”) which is the next PS tothe GA 138A (Handle “0x0001”). This signal includes the UUID “0x2803”,the initial Handle “n2” of the FS 138B, and the last Handle “n4” of theFS 138B. T76B is the same as T42B of FIG. 6, except that the Handle “n3”corresponding to the UUID “0x2803” and the AValue corresponding to theHandle “n3” (that is, the property “Read”, the Handle “n4”, and the UUID“aaa1”) are sent to the terminal 300.

Upon receiving the Handle “n3” and the AValue from the printer 500 inT76B, the OS 36 sends a Type_Req signal including the UUID “aaa1” to theprinter 500 in T76C. This signal includes the initial Handle “n2” of theFS 138B and the last Handle “n4” of the FS 138B.

Upon receiving the Type_Req signal from the terminal 300 in T76C, theprinter 500 decrypts the information in this signal by using the Key andspecifies the Handle “n4” corresponding to the UUID “aaa1” included inthe Type_Req signal from among the data group included within the Handlerange indicated by the initial Handle “n2” and the last Handle “n4”included in the decrypted information. Next, the printer 500 specifiesthe AValue and the APer corresponding to the specified Handle “n4”.Here, the specified APer indicates “Readable without authentication”.Therefore, the printer 500 permits the information included as thisAValue (that is, the function information FI) to be read out. Therefore,the printer 500 encrypts the function information FI by using the Keyand sends the encrypted function information FI to the terminal 300 inT78.

After receiving the function information FI from the printer 500 in T78,the OS 36 sequentially sends, to the printer 500, Type_Req signalscorresponding to the remaining PSs in the PS group. By automaticallyexecuting the above-described processes of T38 to T78 and sending theType_Req signals corresponding to the remaining PSs, the OS 36 can beaware of the information of the PS group, that is, the properties, theUUIDs, and the Handles of the Characteristics included in the PSs.

Upon completion of sending all the plurality of Type_Req signalscorresponding to the plurality of PSs, the OS 36 supplies a connectioncompletion notification to the app 338 in T80. The connection completionnotification is a response to the connection start command of T30 ofFIG. 6.

Upon obtaining the connection completion notification from the OS 36 inT80, the app 338 supplies in T81A, to the OS 36, a list request forrequesting a first list that indicates the UUIDs of the PSs. Thereby, inT81B, the app 338 obtains the first list from the OS 36. Next, in T81C,the app 338 selects the UUID “aaa0” of the FS 138B from the first listand supplies the selected UUID “aaa0” to the OS 36. Thereby, in T81D,the app 338 obtains, from the OS 36, a second list that includes theproperties and the UUIDs of the Characteristics in the FS 138B (here, alist including only one set of the property “Read” and the UUID “aaa1”).

Upon obtaining the second list from the OS 36 in T81D, the app 338selects the UUID “aaa1” from the second list and requests the OS 36 tosend a Type_Req signal including the selected UUID “aaa1” in accordancewith the property “Read” corresponding to the UUID “aaa1” in T82. As aresult, the OS 36 sends a Type_Req signal that includes the UUID “aaa1”,and the initial Handle “n2” and the last Handle “n4” of the FS 138B tothe printer 500.

Upon receiving the Type_Req signal including the UUID “aaa1” from theterminal 300 in T82, the printer 500 sends in T84 the functioninformation FI to the terminal 300 as a response to the Type_Req signal,as in T78.

Upon receiving the function information FI from the printer 500 in T84,the OS 36 supplies the received function information FI to the app 338.

Upon obtaining the function information FI from the OS 36 in T84, theapp 338 displays a function screen indicating the functions of theprinter 500 in T90. The function screen includes the model name “model0”of the printer 500 and character information that indicates the printfunction among the plurality of functions of the printer 500 indicatedby the function information FI. Further, in the present case, thefunction information FI indicates that the printer 500 can establish anAP connection, establish a WFD connection, and send error information.As buttons for executing these functions, the function screen includesan AP connection button, a WFD connection button, and an errorinformation button. The AP connection button is a button for acceptingan instruction to establish an AP connection. The WFD connection buttonis a button for accepting an instruction to establish a WFD connection.The error information button is a button for accepting an instruction todisplay an error URL. The function screen further includes a Cancelbutton. The Cancel button is a button for accepting an instruction tocancel subsequent processes.

In the present comparative example, the plurality of functions that theprinter 500 is capable of executing (that is, the print function, the APconnection, the WFD connection) does not include a function desired bythe user. In this case, in T92, the user selects the Cancel button inthe function screen. As a result, the display of the function screen isterminated, and the process of FIG. 7 ends.

According to the present comparative example, the authenticationcommunication of T62 is executed before the function screen is displayedin the terminal 300 in T90. That is, if the user does not input the PINcode to the terminal 300 (T60), the function screen is not displayed inthe terminal 300. Further, in the present comparative example, thefunction desired by the user is not included in the plurality offunctions displayed in the function screen. That is, according to thepresent comparative example, the user has to input the PIN code even ifthe function desired by the user is not included in the plurality offunctions that the printer 500 is capable of executing. In view of this,the present embodiment prevents authentication communication from beingexecuted between the printer 100 and the terminal 10 if a functiondesired by the user is not included in the plurality of functions thatthe printer 100 is capable of executing. Thereby, the user does not needto perform the operation of inputting a PIN code if the function desiredby the user is not included in the plurality of functions that theprinter 100 is capable of executing. As a result, user convenience isimproved.

Case for Cancel; FIG. 8, FIG. 9

A case in which the Cancel button of the function screen is selected inthe present embodiment will be described with reference to FIG. 8 andFIG. 9. Below, for easier understanding, processes executed by the CPU32 of the terminal 10 according to the OS 36 and the app 38 will bedescribed with the OS 36 and the app 38 as the subjects of action.Processes executed by the CPU 132 of the printer 100 according to theprogram 136 will be described with the printer 100 as the subject ofaction. Further, unless otherwise mentioned, communications in thepresent embodiment are executed via the BT I/Fs of the terminal 10 andthe printer 100, so a phrase “via the BT I/F 16 (or 116)” will beomitted below.

T110, T112 are respectively the same as T10, T12 of FIG. 6. When anoperation for turning on the power of the printer 100 is performed bythe user in T114, the printer 100 sets the resume flag 162 to “ON” inT116. Then, in T120, the printer 100 starts sending by broadcast an ADVsignal including the connection allowance parameter “ADV_IND”.

Since the OS 36 receives the ADV signal from the printer 100 (T120), theOS 36 sends a Scan Request signal to the printer 100 in T122, andreceives a Scan Response signal including a model name “model1” from theprinter 100 and supplies this signal to the app 38 in T124.

T126 to T132 are the same as T26 to T32 of FIG. 6, except that theconnection confirmation screen includes the model name “model1”. The OS36 sends a CONNECT_IND signal to the printer 100 in T132 and establishesan L2CAP Link between the terminal 10 and the printer 100 in T134.

Upon the L2CAP Link being established in T134, the printer 100 stopssending the ADV signal in T136. As described above, the resume flag 162currently indicates “ON”. For this reason, immediately after stoppingthe sending of the ADV signal in T136, the printer 100 resumes sendingthe ADV signal in T137. That is, immediately after shifting from theDiscoverable state to the non-Discoverable state, the printer 100 againshifts to the Discoverable state. Here, the ADV signal after theresuming does not include the connection allowance parameter “ADV_IND”but includes a connection non-allowance parameter “ADV_NONCONN_IND”.This parameter indicates that establishment of an L2CAP Link with adevice that receives the ADV signal is not allowed. A device thatreceived the ADV signal including this parameter does not send aScan_Request signal, as a result of which an L2CAP Link is notestablished between this device and the printer 100. According to thisconfiguration, in a case where the ADV signal after the resuming isreceived by a device different from the terminal 10, establishment of anL2CAP Link between this different device and the printer 100 can beprevented.

The OS 36 executes below-described processes of T138 to T178 by usingthe L2CAP Link established in T134. T138 to T142C are the same as T38 toT42C of FIG. 6.

Upon receiving the Type_Req signal including the UUID “0x2A00” from theterminal 10 in T142C, the printer 100 specifies the Handle “n1”corresponding to the UUID “0x2A00” included in the Type_Req signal, fromamong the data group included within the Handle range indicated by theinitial Handle “0x0001” and the last Handle included in the Type_Reqsignal. Next, the printer 100 specifies the AValue and the APercorresponding to the specified Handle “n1”. Here, the specified APerindicates “Readable without authentication when discoverable”. Asdescribed above, the printer 100 is currently in the Discoverable state(T137). Therefore, the printer 100 permits information to be read outwithout encryption of the information according to the SMP. As a result,in T144, the printer 100 sends the device name DN, which is the AValuecorresponding to the UUID “0x2A00”, to the terminal 10 withoutencrypting the information according to the SMP. Since the printer 100again shifts to the Discoverable state in T137 as described above, theprinter 100 can send the device name DN to the terminal 10 in the caseof receiving the Type_Req signal in T142C, without sending an ErrorResponse signal to the terminal 10 as in T46 of FIG. 6, that is, withoutrequiring input of a PIN code to the terminal 10.

Upon receiving the device name DN from the printer 100 in T144, the OS36 sends a Type_Req signal corresponding to the FS 138B to the printer100 in T176A. T176A to T176C are the same as T76A to T76C of FIG. 7,except that the encryption by using the Key is not executed.

Upon receiving the Type_Req signal from the terminal 10 in T176C, theprinter 100 specifies the Handle “n4” corresponding to the UUID “aaa1”included in the Type_Req signal, from among the data group includedwithin the Handle range indicated by the initial Handle “n2” and thelast Handle “n4” included in the Type_Req signal. Next, the printer 100specifies the AValue and the APer corresponding to the specified Handle“n4”. Here, the specified APer indicates “Readable withoutauthentication”. Therefore, the printer 100 permits the informationincluded in this AValue (that is, the function information FI) to beread out. As a result, in T178, the printer 100 sends the functioninformation FI to the terminal 10 without encrypting the informationaccording to the SMP.

Upon receiving the function information FI from the printer 100 in T178,the OS 36 sequentially sends, to the printer 100, Type_Req signalscorresponding to the remaining PSs in the PS group and receives theAValues corresponding to the property “Read” of the remaining PSs fromthe printer 100. Then, in T180, the OS 36 supplies a connectioncompletion notification to the app 38.

As shown in FIG. 9, upon obtaining the connection completionnotification from the OS 36 in T180, the app 38 executes the sameprocesses as T81A to T81D of FIG. 7, and requests the OS 36 to send aType_Req signal including the UUID “aaa1” in T182. As a result, the OS36 sends a Type_Req signal including the UUID “aaa1”, and the initialHandle “n2” and the last Handle “n4” of the FS 138B to the printer 100.

Upon sending the Type_Req signal to the printer 100 in T182, the OS 36receives the function information FI from the printer 100 and suppliesthe received function information FI to the app 38 in T184.

Upon obtaining the function information FI from the OS 36 in T184, theapp 38 selects the UUID “ddd0” of the BC 138E from a first list thatincludes the UUIDs of respective PSs and supplies the selected UUID“ddd0” to the OS 36 in T185C. Thereby, in T185D, the app 38 obtains asecond list that includes the UUIDs of the Characteristics in the BC138E (that is, a list including the two UUIDs “dddl1”, “ddd2”) from theOS 36.

Upon obtaining the second list from the OS 36 in T185D, the app 38selects the UUID “ddd1” from the second list and requests the OS 36 tosend a Write Request signal including a disconnect instruction in T186.As a result, the OS 36 sends, to the printer 100, a Write Request signalthat includes the Handle “n26” corresponding to the selected UUID “ddd1”and the disconnect instruction.

Upon receiving the Write Request signal from the terminal 10 in T186,the printer 100 specifies the AValue and the APer corresponding to theHandle “n26” included in this signal. Here, the specified APer indicates“Writeable without authentication”. Therefore, the printer 100 permitsthe information included in this signal (that is, the disconnectinstruction) to be written as the specified AValue. That is, the printer100 stores the disconnect instruction as this AValue.

Upon the disconnect instruction being stored, the printer 100 sends aWrite Response signal to the terminal 10 in T188. Further, in accordancewith the stored disconnect instruction, the printer 100 disconnects, inT189A, the L2CAP Link established in T134 of FIG. 8.

Upon disconnecting the L2CAP Link, the printer 100 starts sending theADV signal including the connection allowance parameter “ADV_IND” inT189B, instead of sending the ADV signal including the connectionnon-allowance parameter.

Further, upon receiving the Write Response signal from the printer 100in T188, the terminal 10 displays a function screen indicating thefunctions of the printer 100 in T190. The function screen of T190 is thesame as the function screen of T90 of FIG. 7, except that the model nameis different.

In the present case, the plurality of functions that the printer 100 iscapable of executing (that is, the print function, the AP connection,the WFD connection) does not include a function desired by the user. Inthis case, in T192, the user selects the Cancel button in the functionscreen. As a result, the display of the function screen is terminated,and the process of FIG. 9 ends.

According to the present case, the printer 100 resumes sending the ADVsignal after the establishment of the L2CAP Link (T137 of FIG. 8).Thereby, the state of the printer 100 becomes the Discoverable state.For this reason, in the case of receiving the Type_Req signal (T142C),the printer 100 sends the device name DN to the terminal 10 withoutencrypting the information according to the SMP (T144). That is, unlikethe comparative example of FIG. 6, authentication communication is notexecuted before the function screen is displayed in the terminal 10.Thereby, it is possible to prevent authentication communication frombeing executed between the printer 100 and the terminal 10 in a casewhere the function desired by the user is not included in the pluralityof functions that the printer 100 is capable of executing. That is, theuser does not need to perform the operation of inputting a PIN code inthe case where the function desired by the user is not included in theplurality of functions that the printer 100 is capable of executing. Asa result, user convenience is improved.

Case for AP Connection; FIG. 10 to FIG. 12

A case in which the AP connection button in the function screen isselected in the present embodiment will be described with reference toFIG. 10 to FIG. 12. In the present case, the plurality of functions thatthe printer 100 is capable of executing (that is, the print function,the AP connection, the WFD connection) includes the AP connectionfunction which is desired by the user. In this case, in T200, the userselects the AP connection button in the function screen.

Upon accepting selection of the AP connection button in T200, the app 38supplies a connection start command to the OS 36 in T212. Thereby, theOS 36 sends a CONNECT_IND signal to the printer 100 in T232, andestablishes an L2CAP Link between the terminal 10 and the printer 100 inT234.

Upon the L2CAP Link being established in T234, the printer 100 stopssending the ADV signal in T236. Then, since the resume flag 162indicates “ON”, the printer 100 resumes sending the ADV signal in T237.That is, the printer 100 again shifts to the Discoverable state.

Further, the OS 36 executes the same communications as those of T138 toT142B of FIG. 8 (that is, sends a Group_Req signal and sends a Type_Reqsignal including the UUID “0x2803”) by using the L2CAP Link establishedin T234. Then, in T242C, the OS 36 sends a Type_Req signal including theUUID “0x2A00” to the printer 100 as in T142C of FIG. 8.

Upon the printer 100 receiving the Type_Req signal from the terminal 10in T242C, the printer 100 sends the device name DN to the terminal 10 inT244, as in T144 of FIG. 8, due to the APer indicating “Readable withoutauthentication when discoverable” and the printer 100 being in theDiscoverable state.

Upon receiving the device name DN from the printer 100 in T244, the OS36 executes the same communications as those of T176A to T178 of FIG. 8,and sequentially sends Type_Req signals corresponding to the remainingPSs in the PS group to the printer 100. Then, as in the case of FIG. 8,the OS 36 receives the AValues corresponding to the property “Read” ofthe remaining PSs from the printer 100 without receiving an ErrorResponse signal, and supplies a connection completion notification tothe app 38 in T250.

Upon obtaining the connection completion notification from the OS 36 inT250, the app 38 obtains a second list that indicates the UUIDs of theCharacteristics in the BC 138E from the OS 36 in T252. Then, the app 38sends a Write Request signal including the Handle “n27” corresponding tothe UUID “ddd2” in the second list and a resume flag OFF instruction tothe printer 100 via the OS 36.

Upon receiving the Write Request signal from the terminal 10 in T252,the printer 100 stores the resume flag OFF instruction as the AValuecorresponding to the Handle “n27” due to the APer corresponding to theHandle “n27” indicating “Writeable without authentication”. Then, inT254, the printer 100 sends a Write Response signal to the terminal 10.

Further, as in T186 of FIG. 9, the app 38 sends a Write Request signalincluding the Handle “n26” and a disconnect instruction to the printer100 in T256. Then, as in T188 of FIG. 9, the app 38 receives a WriteResponse signal from the printer 100 in T258. As a result, thedisconnect instruction is stored as the AValue corresponding to theHandle “n26”.

Upon the resume flag OFF instruction and the disconnect instructionbeing stored as the AValues, the printer 100 disconnects in T260A theL2CAP Link established in T234 in accordance with the stored disconnectinstruction, and starts sending the ADV signal including the connectionallowance parameter “ADV_IND” in T260B. Further, in T262, the printer100 changes the resume flag 162 from “ON” to “OFF” in accordance withthe stored resume flag OFF instruction. Thereby, in the subsequentprocesses, sending of the ADV signal is not resumed.

As shown in FIG. 11, upon receiving the Write Response signal from theprinter 100 in T258, the app 38 supplies a connection start command tothe OS 36 in T312. T322 to T336 are the same as T132 to T136 of FIG. 8.Here, since the resume flag 162 was changed to “OFF” in T262 of FIG. 10,the printer 100 does not resume sending the ADV signal. That is, theprinter 100 is in the non-Discoverable state.

Further, the OS 36 executes the same communications as those of T138 toT142B of FIG. 8 by using the L2CAP Link established in T234. Then, as inT142C of FIG. 8, the OS 36 sends a Type_Req signal including the UUID“0x2A00” to the printer 100 in T342C.

At the time of reception of the Type_Req signal from the terminal 10 inT342C, the Key has not been created yet. For this reason, the printer100 sends an Error_Response signal to the terminal 10 in T346 due to theAPer indicating “Readable without authentication when discoverable” andthe printer 100 being in the non-Discoverable state.

Upon receiving the Error Response signal from the printer 100 in T346,the OS 36 sends a Pairing Request signal to the printer 100 in T348, andreceives a Pairing Response signal from the printer 100 in T350. As aresult, the printer 100 displays the PIN code “1234” in T352, and theterminal 10 displays the PIN input screen on the display unit 12 of theterminal 10 in T354.

Upon accepting input of the PIN code “1234” in the PIN input screen inT360, the OS 36 executes authentication communication according to theSMP between the OS 36 and the printer 100 in T362. In thisauthentication communication, encrypted information encrypted by theinputted PIN code “1234” is successfully decripted, and the Key is sentfrom the printer 100 to the terminal 10. Thereby, in below-describedprocesses from T372 onward, information communicated according to the BTscheme between the OS 36 and the printer 100 is encrypted by the Key.

Upon completion of the authentication communication of T362, the OS 36again sends a Type_Req signal to the printer 100 in T372, as in T342C.However, as described above, the information in this Type_Req signal isencrypted by the Key.

At the time of reception of the Type_Req signal from the terminal 10 inT372, the Key has already been created and information can thereby beencrypted according to the SMP. Therefore, the printer 100 encrypts thedevice name DN by using the Key and sends the encrypted device name DNto the terminal 10 in T374 due to the APer indicating “Readable withoutauthentication when discoverable” and the printer 100 being in thenon-Discoverable state.

Upon receiving the device name DN from the printer 100 in T374, the OS36 executes the same communications as those of T176A to T178 of FIG. 8,except that encryption by the Key is executed, and sequentially sendsType_Req signals corresponding to the remaining PSs in the PS group tothe printer 100. As a result, the OS 36 receives the AValuescorresponding to the property “Read” of the remaining PSs from theprinter 100, and supplies a connection completion notification to theapp 38 in T380.

As shown in FIG. 12, upon obtaining the connection completionnotification from the OS 36 in T380, the app 38 obtains a second listthat indicates the UUIDs of the Characteristics in the AC 138C from theOS 36 in T402. Then, the app 38 sends a Type_Req signal including theUUID “bbb1” in the second list, and the initial Handle “n5” and lastHandle “n13” of the AC 138C to the printer 100 via the OS 36.

In the present case, at the time of the sending of the Type_Req signalto the printer 100 in T402, the AP state information of the printer 100has been set in “Enable”. Therefore, when the app 38 sends the Type_Reqsignal to the printer 100 in T402, the app 38 receives the AP stateinformation “Enable” corresponding to the UUID “bbb1” from the printer100 via the OS 36 in T404.

Upon obtaining the AP state information “Enable” from the OS 36 in T404,the app 38 displays an SSID screen on the display unit 12 in T406. TheSSID screen includes a list of SSID for identifying the AP networks ofthe AP 200 in which the terminal 10 is currently participating, and aninput field to which a password is inputted. This list includes the SSID“ap01” of the AP 200.

In T408, the app 38 accepts selection of the SSID “ap01” from the listin the SSID screen and accepts input of the password “xxx” of the AP 200in the input field in the SSID screen. Thereby, the app 38 selects theUUID “bbb3” from the obtained second list and sends a Write Requestsignal that includes the Handle “n12” corresponding to the selected UUID“bbb3”, the SSID “ap01” and the password “xxx” to the printer 100 viathe OS 36 in T410. Here, the information in the Write Request signal(that is, the Handle “n12”, the SSID “ap01”, and the password “xxx”) isencrypted by the Key.

Upon receiving the Write Request signal from the terminal 10 in T410,the printer 100 decrypts the information in this signal and obtains theSSID “ap01” and the password “xxx”. Then, the printer 100 stores theSSID “ap01” and the password “xxx” as the AValue corresponding to theHandle “n12”. Next, the printer 100 sends a Write Response signal to theterminal 10 in T412, and uses the stored SSID “ap01” and the password“xxx” to start an AP connection process for establishing an APconnection and changes the AP state information from “Enable” to “Busy”in T414.

Upon receiving the Write Response signal from the printer 100 via the OS36 in T412, the app 38 sends a Type_Req signal including the UUID “bbb1”to the printer 100 via the OS 36 in T416. In T416, the app 38 sends theType_Req signal including the UUID “bbb1” to the printer 100 before theAP connection process is completed. As a result, in T418, the app 38receives the AP state information “Busy” of the AValue corresponding tothe UUID “bbb1” from the printer 100 via the OS 36.

The app 38 can be aware that the AP connection process has not beencompleted yet because it obtains “Busy”, and the app 38 sends theType_Req signal including the UUID “bbb1” again to the printer 100 viathe OS 36 in T422. Here, the AP connection process was completed inT420, and an AP connection has been established between the printer 100and the AP 200. In FIG. 12, dashed arrows indicate Wi-Fi communicationusing the AP network (that is, communication via the wireless LAN I/F114). Upon the AP connection being established, the printer 100 changesthe AP state information from “Busy” to “Enable”. Thereafter, in T422,the app 38 sends the Type_Req signal including the UUID “bbb1” to theprinter 100. As a result, in T424, the app 38 receives the AP stateinformation “Enable” of the AValue corresponding to the UUID “bbb1” fromthe printer 100 via the OS 36.

Upon receiving the AP state information “Enable” from the printer 100via the OS 36 in T424, the app 38 sends a Type_Req signal that includesthe UUID “bbb2” of the “IP Address” of the AC 138C, and the initialHandle “n5” and the last Handle “n13” of the AC 138C to the printer 100via the OS 36 in T426. As a result, in T428, the app 38 receives the IPaddress IA of the AValue corresponding to the UUID “bbb2” from theprinter 100 via the OS 36.

Upon obtaining the IP address IA from the OS 36 in T428, the app 38requests the OS 36 to send a confirmation signal with the IP address IAas its destination in T430. As a result, the OS 36 sends a confirmationsignal via the wireless LAN I/F 14 by using the AP network of the AP200. As described above, the AP connection has been established betweenthe printer 100 and the AP 200. Therefore, the confirmation signal isreceived by the printer 100 via the AP 200.

Upon receiving the confirmation signal from the AP 200 via the wirelessLAN I/F 114 in T430, the printer 100 sends a response signal for theconfirmation signal to the terminal 10 via the wireless LAN I/F 114 andthe AP 200 in T432.

Upon receiving the response signal from the printer 100 via the OS 36 inT432, the app 38 determines that it is possible to execute communicationwith the printer 100. T434 to T438B, which are executed after T432, arethe same as T256 to T260B of FIG. 10, except that the information in theWrite Request signal is encrypted by the Key.

Upon disconnecting the L2CAP Link in T438A, the printer 100 changes theresume flag 162 from “OFF” to “ON” in T440.

Further, upon receiving the Write Response signal from the printer 100via the OS 36 in T436, the app 38 displays a print screen on the displayunit 12 in T450. Then, the app 38 accepts a print operation from theuser on the print screen. The print operation includes an operation ofselecting an image to be printed and an operation of inputting printsettings (paper size, color, etc.).

In T452, the app 38 sends print data that includes image informationcorresponding to the selected image and setting information indicatingthe inputted print settings to the printer 100 via the OS 36, thewireless LAN I/F 14, and the AP 200. As a result, the printer 100 printsthe image corresponding to the image information received from theterminal 10 in T454 in accordance with the print settings indicated bythe setting information received from the terminal 10.

According to the configuration of the present case, the printer 100changes the resume flag 162 from “ON” to “OFF” (T262) in the case wherethe AP connection button in the function screen is selected (T200 ofFIG. 10). Thereby, the printer 100 does not resume sending the ADVsignal after having stopped sending the ADV signal in response to theestablishment of the L2CAP Link. Then, the printer 100 executes theauthentication communication due to the APer indicating “Readablewithout authentication when discoverable” and the printer 100 being inthe non-Discoverable state (T326 of FIG. 11). As a result, the terminal10 can encrypt the SSID “ap01” and the password “xxx” of the AP 200 byusing the Key and send them to the printer 100 (T410). Therefore,acquisition of the SSID “ap01” and the password “xxx” by a third partycan be prevented.

Case for WFD Connection; FIG. 13, FIG. 14

A case in which the WFD connection button of the function screen isselected in the present embodiment will be described with reference toFIG. 13 and FIG. 14. In the present case, the plurality of functionsthat the printer 100 is capable of executing (that is, the printfunction, the AP connection, the WFD connection) includes the WFDconnection function which is desired by the user. In this case, in T500,the user selects the WFD connection button in the function screen.

Upon accepting selection of the WFD connection button in T500, the app38 supplies a connection start command to the OS 36 in T512. T532 toT537 are the same as T232 to T237 of FIG. 10 (that is, establishment ofthe 2CAP Link, resuming of sending of the ADV signal). Then, the OS 36executes the same communications as those of T138 to T142B of FIGS. 8and T242C and T244 of FIG. 10 (that is, sequential sending of Typ_Reqsignals corresponding to the PS group). That is, since the printer 100is in the Discoverable state due to the resuming of the sending of theADV signal, the Error Response signal is not received and authenticationcommunication according to the SMP is not executed.

Upon obtaining a connection completion notification from the OS 36 inT550 in response to the connection start command of T512, the app 38obtains a second list that indicates the UUIDs of the Characteristics inthe WC 138D from the OS 36. Then, the app 38 sends a Write Requestsignal that includes the Handle “n22” corresponding to the UUID “ccc4”in the second list and an Enable instruction to the printer 100 via theOS 36 in T552.

Upon receiving the Write Request signal from the terminal 10 in T552,the printer 100 stores the Enable instruction as the AValuecorresponding to the Handle “n22” due to the APer corresponding to theHandle “n22” indicating “Writeable without authentication”. Then, inT554, the printer 100 sends a Write Response signal to the terminal 10.

Further, in T556, the app 38 sends a Write Request signal that includesthe Handle “n21” corresponding to the UUID “ccc3” in the obtained secondlist and a public key to the printer 100 via the OS 36. The public keymay be created by the app 38 in advance at the time when the app 38 isactivated, or may be created by the app 38 in the case where the WFDconnection button is selected, for example.

Upon receiving the Write Request signal from the terminal 10 in T556,the printer 100 stores the public key as the AValue corresponding to theHandle “n21” due to the APer corresponding to the Handle “n21”indicating “Writeable without authentication”. T558 is the same as T554.

T560, T562 are the same as T256, T258 of FIG. 10. Thereby, thedisconnect instruction is stored as the AValue corresponding to theHandle “n26”.

Upon the Enable instruction, the public key, and the disconnectinstruction being stored as the AValues, the printer 100 disconnects inT564A the L2CAP Link established in T534 in accordance with the storeddisconnect instruction, and starts sending the ADV signal including theconnection allowance parameter “ADV_IND” in T564B. Further, in T566, theprinter 100 changes the state of the printer 100 from “Disable” to“Enable” in accordance with the stored Enable instruction. Thereby, theWFD state information is changed from “Disable” to “Enable”. Further, inT568, the printer 100 encrypts the WFD information 160 by using thestored public key. Upon completion of the encryption of the WFDinformation 160, the printer 100 changes the state of the printer 100from “Enable” to “Ready”.

As shown in FIG. 14, upon receiving the Write Response signal from theterminal 10 in T562, the app 38 supplies a connection start command tothe OS 36 in T570. T572 to T577 are the same as T532 to T537 of FIG. 13.Then, the OS 36 executes the same communications as those of T138 toT142B of FIGS. 8 and T242C and T244 of FIG. 10. That is, as in FIG. 13,authentication communication according to the SMP is not executed.

Upon obtaining a connection completion notification from the OS 36 inT580 in response to the connection start command of T570, the app 38obtains a second list that indicates the UUIDs of the Characteristics inthe WC 138D from the OS 36. Then, the app 38 sends a Type_Req signalthat includes the UUID “ccc1” in the second list and the initial Handle“n14” and the last Handle “n22” of the WC 138D to the printer 100 viathe OS 36 in T582.

In the present case, at the time when the Type_Req signal is sent to theprinter 100 in T582, the WFD state information of the printer 100 hasbeen set in “Ready”. Therefore, when the app 38 sends the Type_Reqsignal to the printer 100 via the OS 36 in T582, the app 38 receives theWFD state information “Ready” corresponding to the UUID “ccc1” from theprinter 100 via the OS 36 in T584.

Upon obtaining the WFD state information “Ready” from the OS 36 in T584,the app 38 sends a Type_Req signal that includes the UUID “ccc2” in theobtained second list and the initial Handle “n14” and the last Handle“n22” of the WC 138D to the printer 100 via the OS 36 in T586. As aresult, in T588, the app 38 receives the encrypted WFD information fromthe printer 100 via the OS 36.

In T590, the app 38 decrypts the received encrypted WFD information byusing the public key. Thereby, the app 38 obtains the WFD information160.

In T592, the app 38 sends a Write Request signal that includes theHandle “n22” corresponding to the UUID “ccc4” in the obtained secondlist and a Start instruction to the printer 100 via the OS 36. As aresult, the Start instruction is stored as the AValue corresponding tothe Handle “n22”, and a Write Response signal is sent to the terminal 10in T594.

In T596, the printer 100 starts operating in the G/O state in accordancewith the stored Start instruction. As a result, the state of the printer100 is changed from “Ready” to “Start”.

Further, in T598, the app 38 supplies the WFD information 160 obtainedin T590 to the OS 36 and requests the OS 36 to establish a WFDconnection. Thereby, in T600, the OS 36 operates as the client of theWFD scheme and establishes a WFD connection with the printer 100 byusing the WFD information 160.

Further, upon establishing the WFD connection with the terminal 10 inT600, the printer 100 changes the state of the printer 100 from “Start”to “Enable” in T602.

Further, upon supplying the WFD information 160 to the OS 36 in T598,the app 38 sends a Type_Req signal including the UUID “ccc1” to theprinter 100 via the OS 36 in T604, as in T582. In the present case, theapp 38 sends the Type_Req signal including the UUID “ccc1” to theprinter 100 after the establishment of the WFD connection has completed.As a result, in T606, the app 38 receives the WFD state information“Enable” of the AValue corresponding to the UUID “ccc1” from the printer100 via the OS 36.

Upon receiving the WFD state information “Enable” from the printer 100in T606, the app 38 determines that the establishment of the WFDconnection is completed. T608 to T612B, which are executed after T606,are the same as T560 to T564B of FIGS. 13.

T620 to T624 are the same as T450 to T454 of FIG. 12, except that theprint data is sent directly from the terminal 10 to the printer 100 byusing the WFD connection.

According to the configuration of the present case, in the case wherethe WFD connection button in the function screen is selected (T500 ofFIG. 13), the terminal 10 sends the public key to the printer 100(T556). Thereby, the printer 100 encrypts the WFD information 160(T568). Then, the printer 100 sends the encrypted WFD information to theterminal 10 (T588 of FIG. 14). As such, acquisition of the WFDinformation 160 by a third party can be prevented.

Further, according to the configuration of the present case, the printer100 resumes sending the ADV signal after the L2CAP Link has beenestablished (T537 of FIG. 13). Due to the APer indicating “Readablewithout authentication when discoverable” and the printer 100 being inthe Discoverable state, the public key is sent to the printer 100 (T556)without executing authentication communication according to the SMP. Assuch, encryption by using the Key of the SMP can be prevented whenencryption by using the public key is to be executed.

Case for Error Information; FIG. 15

A case in which the error information button in the function screen isselected in the present embodiment will be described with reference toFIG. 15. In the present case, the user selects the error informationbutton in the function screen in order to check whether the printer 100is in an error state or not.

Upon accepting selection of the error information button in T630, theapp 38 supplies a connection start command to the OS 36 in T632. T642 toT647 are the same as T232 to T237 of FIG. 10. Then, the OS 36 executesthe same communications as those of T138 to T142B of FIGS. 8 and T652C,T654 which are same as T242C and T244 of FIG. 10. That is, as in FIG.10, authentication communication according to the SMP is not executed.

Upon obtaining a connection completion notification from the OS 36 inT660 in response to the connection start command of T632, the app 38obtains a second list that indicates the UUID of the Characteristic inthe ES 138F from the OS 36. Then, the app 38 sends a Type_Req signalthat includes the UUID “eee1” in the second list and the initial Handle“n28” and the last Handle “n30” of the ES 138F to the printer 100 viathe OS 36 in T662.

In the present case, at the time when the Type_Req signal is sent to theprinter 100 in T662, the state of the printer 100 is the error state(e.g., paper jam). Therefore, when the app 38 sends the Type_Req signalto the printer 100 in T662, the app 38 receives an error URLcorresponding to the UUID “eee1” from the printer 100 via the OS 36 inT664.

T666 to T670B, which are executed after T664, are the same as T256 toT260B of FIG. 10. That is, the L2CAP Link established in T644 isdisconnected.

Upon obtaining the Write Response signal from the OS 36 in T668, the app38 displays the error URL on the display unit 12 in T672. By selectingthe displayed error URL, the user can see a Web page that describes amethod for resolving the error state (e.g., paper jam).

According to the configuration of the present case, in the case wherethe error information button in the function screen is selected (T630),the printer 100 resumes sending the ADV signal after the L2CAP Link hasbeen established (T647). Due to the APer indicating “Readable withoutauthentication when discoverable” and the printer 100 being in theDiscoverable state, the error URL is sent to the terminal 10 (T664)without executing authentication communication according to the SMP. Anerror URL, which is less confidential than the SSID “ap01” and thepassword “xxx”, can be sent to the terminal 10 without executingauthentication communication according to the SMP.

Correspondence Relationships

The printer 100, the terminal 10, the BT I/F 116, the wireless LAN I/F114 are examples of “function executing device”, “terminal device”,“first wireless interface”, “second wireless interface”, respectively.The function of establishing an AP connection or the function ofestablishing a WFD connection is an example of “first function”. Thefunction screen of T190 of FIG. 9, the selection of the AP connectionbutton or the WFD connection button in the function screen, and thefunction information FI are examples of “function screen”, “firstexecution instruction”, and “screen display information”, respectively.The print data is an example of “relation data”. The connectionallowance parameter “ADV_IND” and the connection non-allowance parameter“ADV_NONCONN_IND” are examples of “allowance information” and“non-allowance information”, respectively. The Scan start command andthe connection start command are examples of “first command” and “secondcommand (and command)”, respectively. The L2CAP Link of T134 of FIG. 8is an example of “first wireless connection”. The function of sending anerror URL, the selection of the error information button in the functionscreen, and the Type_Req signal of T662 of FIG. 15 are examples of“second function”, “second execution instruction”, and “second functionexecution information”, respectively. The L2CAP Link of T644 of FIG. 15is an example of “fifth wireless connection (and specific wirelessconnection)”.

The correspondence relationships for FIG. 10 to FIG. 12 (the case forthe AP connection) are as follows. The PIN code and the encryptedinformation are examples of “specific authentication information (andfirst (or second) code)” and “related information”, respectively. Theprinter 100 and the terminal 10 are examples of “one device” and “otherdevice”, respectively. The AP 200 is an example of “external device”. Inone aspect, the L2CAP Link of T334 of FIG. 11 and the L2CAP Link of T234of FIG. 10 are examples of “second wireless connection” and “thirdwireless connection”, respectively. In another aspect, the L2CAP Link ofT234 of FIG. 10 and the L2CAP Link of T334 of FIG. 11 are examples of“first wireless connection” and “second wireless connection”,respectively. The state where the resume flag is “ON” and the statewhere the resume flag is “OFF” are examples of “first state” and “secondstate”, respectively. The resume flag OFF instruction of T252 of FIG. 10is an example of “execution request (and setting change request)”. TheType_Req signals are an example of “specific Read request”. The SSID“ap01” and the password “xxx” of T410 of FIG. 12 are an example of“first function execution information”.

The correspondence relationships for FIG. 13 and FIG. 14 (the case forthe WFD connection) are as follows. The public key and the PIN code areexamples of “specific authentication information” and “specific code”,respectively. The terminal 10 and the printer 100 are examples of “onedevice” and “other device”, respectively. The terminal 10 is an exampleof “external device”. In one aspect, the L2CAP Link of T534 of FIG. 13and the L2CAP Link of T574 of FIG. 14 are examples of “second wirelessconnection” and “fourth wireless connection”, respectively. In anotheraspect, the L2CAP Link of T534 of FIG. 13 and the L2CAP Link of T574 ofFIG. 14 are examples of “first wireless connection” and “third wirelessconnection”, respectively. The encrypted WFD information of T588 of FIG.14 is an example of “first function execution information”. The WriteRequest signal including the public key of T556 of FIG. 13 is an exampleof “execution request”.

In one aspect, T134 of FIGS. 8 and T184 of FIG. 9 are examples of“establish a first wireless connection” and “send screen displayinformation”, respectively. In the case of the AP connection, T334 ofFIG. 11, T362 of FIGS. 11, and T410 of FIG. 12 are examples of“establish a second wireless connection”, “execute the communicationusing the specific authentication information”, and “executecommunication of first function execution information”, respectively. Inthe case of the WFD connection, T534 of FIG. 13, T556 of FIGS. 13, andT588 of FIG. 14 are examples of “establish a second wirelessconnection”, “execute the communication using the specificauthentication information”, and “execute communication of firstfunction execution information”, respectively. T112 of FIG. 8, T184 ofFIGS. 9, and T190 of FIG. 9 are examples of “supply a first command”,“receive screen display information”, and “cause a display unit of theterminal device to display the function screen”, respectively. In thecase of the AP connection, T312 of FIGS. 11 and T410 of FIG. 12 areexamples of “supply a second command” and “execute communication offirst function execution information”, respectively. In the case of theWFD connection, T512 of FIGS. 13 and T588 of FIG. 14 are examples of“supply a second command” and “execute communication of first functionexecution information”, respectively.

In another aspect, in the case of the AP connection, T234 of FIG. 10,T252 of FIG. 10, T362 of FIGS. 11, and T410 of FIG. 12 are examples of“establish a first wireless connection”, “receive an execution request”,“execute the target process”, and “execute communication of firstfunction execution information”, respectively. In the case of the WFDconnection, T534 of FIG. 13, T556 of FIG. 13, T568 of FIGS. 13, and T588of FIG. 14 are examples of “establish a first wireless connection”,“receive an execution request”, “execute the target process”, and“execute communication of first function execution information”,respectively. T184 of FIGS. 9 and T190 of FIG. 9 are examples of“receive screen display information” and “cause a display unit of theterminal device to display the function screen”, respectively. In thecase of the AP connection, T212 of FIGS. 10 and T410 of FIG. 12 areexamples of “supply a command” and “execute communication of firstfunction execution information”, respectively. In the case of the WFDconnection, T512 of FIGS. 13 and T588 of FIG. 14 are examples of “supplya command” and “execute communication of first function executioninformation”, respectively.

Second Embodiment Case for WFD connection; FIG. 13, FIG. 14

The second embodiment is a variant of the first embodiment. The secondembodiment is the same as the first embodiment, except that a part ofthe processes for the case of WFD connection is different. In thepresent embodiment, the app 38 and the printer 100 do not execute theprocesses of T560 to T564B of FIG. 13 or the processes of T570 to T580of FIG. 14. That is, the printer 100 does not disconnect the L2CAP Linkestablished in T534 and encrypts the WFD information 160 in a statewhere the establishment of this Link is maintained (T568). Then, theprinter 100 sends the encrypted WFD information to the terminal 10 byusing the L2CAP Link of T534 (T588).

The present embodiment assumes that the processing capacity of the CPU132 of the printer 100 is relatively high. In a case where theprocessing capacity of the CPU 132 is relatively high, the CPU 132 canencrypt the WFD information 160 while the establishment of the L2CAPLink is maintained. For example, in a case where the processing capacityof the CPU 132 is relatively low, the CPU 132 cannot encrypt the WFDinformation 160 while the establishment of the L2CAP Link is maintained.In such a case, it is effective to adopt a configuration in which theWFD information 160 is encrypted after the L2CAP Link is disconnected,as in the first embodiment (see T564A of FIG. 13). By contrast, thepresent embodiment takes into account that the processing capacity ofthe CPU 132 is relatively high and therefore omits the processes ofdisconnecting the L2CAP Link and re-establishing the L2CAP Link (thatis, the processes of T560 of FIGS. 13 to T580 of FIG. 14). This canprevent execution of the unnecessary processes.

Third Embodiment Case for AP connection; FIG. 16, FIG. 17

The third embodiment is the same as the first embodiment, except that apart of the processes for the case of AP connection is different.

T700 to T720 are the same as T200 to T250 of FIG. 10 (that is,establishment of the 2CAP Link, resuming of the sending of the ADVsignal, that is, sequential sending of the Typ_Req signals correspondingto the PS group). That is, since the printer 100 is in the Discoverablestate due to it resuming sending the ADV signal, the Error Responsesignal is not received and authentication communication according to theSMP is not executed.

Upon obtaining the connection completion notification from the OS 36 inT720 in response to the connection start command of T712, the app 38obtains a second list that indicates the UUIDs of the Characteristics inthe AP 138C from the OS 36. Then, the app 38 sends a Write Requestsignal that includes the Handle “n13” corresponding to the UUID “bbb4”in this second list and a Permission change instruction to the printer100 via the OS 36 in T722. This Permission change instruction is aninstruction for changing values indicating “Readable withoutauthentication” in the AP 138C to values indicating “Readable withauthentication” as well as for changing values indicating “Writeablewithout authentication” in the AP 138C to values indicating “Writeablewith authentication”. Specifically, this instruction is an instructionfor changing the value indicating “No authentication required” to thevalue indicating “Authentication required”. In a variant, according tothis instruction, the value indicating “No encryption required” may bechanged to the value indicating “Encryption required”, or the valueindicating “No authorization required” may be changed to the valueindicating “Authorization required”. Here, “Readable withauthentication” means that information can be read out on condition thatthe information is encrypted according to the SMP. Further, “Writeablewith authentication” means that information can be written on conditionthat the information is encrypted according to the SMP. In a variant,not all the values of the data in the AP 138C may be changed, but onlythe values indicating “Readable without authentication” in at least onepiece of data (e.g., the data corresponding to the Handle “n10”) amongthe data in the AP 138C may be changed to values indicating “Readablewith authentication”.

Upon receiving the Write Request signal from the terminal 10 in T722,the printer 100 stores the Permission change instruction as the AValuecorresponding to the Handle “n13” due to the APer corresponding to theHandle “n13” indicating “Writeable without authentication”. Then, inT724, the printer 100 sends a Write Response signal to the terminal 10.

T726, T728 are the same as T256, T258 of FIG. 10. Thereby, thedisconnect instruction is stored as the AValue corresponding to theHandle “n26”.

Upon the Permission change instruction and the disconnect instructionbeing stored as the AValues, the printer 100 disconnects in T730A theL2CAP Link that was established in response to the connection startcommand of T712 in accordance with the stored disconnect instruction andstarts sending the ADV signal including the connection allowanceparameter “ADV_IND” in T730B. Further, in accordance with the storedPermission change instruction, the printer 100 changes the valuesindicating “Readable without authentication” in the APers correspondingto the Handles “n10” and “n11” to the values indicating “Readable withauthentication”, and also changes the values indicating “Writeablewithout authentication” in the APers corresponding to the Handles “n12”and “n13” to the values indicating “Writeable with authentication” inT732.

As shown in FIG. 17, upon receiving the Write Response signal from theprinter 100 in T728, the app 38 supplies a connection start command tothe OS 36 in T742. Thereby, the same processes as T332 to T336 of FIG.11 are executed (that is, establishment of the L2CAP Link and stop onthe sending of the ADV signal).

Since the resume flag 162 indicates “ON”, the printer 100 resumessending the ADV signal in T747. That is, the printer 100 again shifts tothe Discoverable state.

Further, the OS 36 uses the L2CAP Link established in response to theconnection start command of T712 to execute the same communications asthose of T138 to T178 of FIG. 8 (that is, sending of a Group_Req signal,sending of a Type_Req signal including the UUID “0x2803”, sending of aType_Req signal corresponding to the GA 138A, and sending of a Type_Reqsignal corresponding to the FS 138B).

Due to the APer of the GA 138A indicating “Readable withoutauthentication when discoverable” and the printer 100 being in theDiscoverable state, the app 38 receives the device name DN from theprinter 100. Further, due to the APer of the FS 138B indicating“Readable without authentication”, the app 38 receives the functioninformation FI from the printer 100.

Upon receiving the function information FI from the printer 100, the OS36 sends a Type_Req signal to the printer 100 in T756A for the AC 138C,which is the PS corresponding to the Handle “n5” which has the secondsmallest value after the Handle “n1”. This signal includes the UUID“0x2803”, the initial Handle “n5” of the AC 138C, and the last Handle“n13” of the AC 138C.

Upon receiving the Type_Req signal from the terminal 10 in T756A, theprinter 100 specifies the Handles “n6” to “n9” corresponding to the UUID“0x2803” included in the Type_Req signal from among the data groupincluded within the Handle range indicated by the initial Handle “n5”and the last Handle “n13” included in the Type_Req signal. Due to theAPers corresponding to the specified Handles “n6” to “n9” indicating“Readable without authentication”, the printer 100 sends in T756B, tothe terminal 10, the specified Handles “n6” to “n9” and the AValuescorresponding to the specified Handles “n6” to “n9” (from the property“Read”, Handle “n10”, and UUID “bbb1” to the property “Write”, Handle“n13”, and UUID “bbb4”).

Upon receiving the Handles and the AValues from the printer 100 inT756B, the OS 36 sends in T756C, to the printer 100, a Type_Req signalthat includes the UUID “bbb1” corresponding to the Handle “n10” whichhas the smallest value among the AValues. This signal further includesthe initial Handle “n5” of the AC 138C and the last Handle “n13” of theAC 138C.

Upon receiving the Type_Req signal from the terminal 10 in T756C, theprinter 100 specifies the Handle “n10” corresponding to the UUID “bbb1”included in the Type_Req signal from among the data group includedwithin the Handle range indicated by the initial Handle “n5” and thelast Handle “n13” included in this signal. Here, the APer correspondingto the specified Handle “n10” indicates “Readable with authentication”.At the current point of time, the Key for encrypting informationaccording to the SMP has not been created yet. For this reason, theprinter 100 cannot encrypt information according to the SMP, andtherefore sends an Error Response signal to the terminal 10 in T758.

T768 to T782 are the same as T348 to T362 of FIG. 11. Thereby, inbelow-described processes from T790 onward, information communicatedbetween the OS 36 and the printer 100 according to the BT scheme isencrypted by the Key.

Upon completion of the authentication communication of T782, the OS 36sends again the same Type_Req signal as that of T756 to the printer 100in T790. It should be noted that, as described above, the information inthis Type_Req signal is encrypted by the Key.

At the time of receiving the Type_Req signal from the terminal 10 inT790, the printer 100 can encrypt information according to the SMPbecause the Key has already been created. As such, due to the APerindicating “Readable with authentication”, the printer 100 encrypts theAP state information (here, “Enable”) by using the Key and sends theencrypted AP state information to the terminal 10 in T792. T794 is thesame as T380 of FIG. 11.

When the connection completion notification is obtained from the OS 36in T794, the same processes as T402 to T454 of FIG. 12 are executed.Thereby, establishment of an AP connection and printing are executed.

According to the configuration of the present embodiment, the printer100 changes the APers of the AC 138C from “Readable withoutauthentication” to “Readable with authentication” (T732) in the casewhere the AP connection button in the function screen is selected (T700of FIG. 16). Thereby, the printer 100 executes the authenticationcommunication (T782 of FIG. 17) due to the APers of the AC 138Cindicating “Readable with authentication”. As a result, as in the firstembodiment, the terminal 10 can encrypt the SSID “ap01” and the password“xxx” of the AP 200 by using the Key and send them to the printer 100.Therefore, acquisition of the SSID “ap01” and the password “xxx” by athird party can be prevented.

Correspondence Relationship

The state where the resume flag is “ON” and the APer indicates “Readablewithout authentication”, and the state where the resume flag is “ON” andthe APer indicates “Readable with authentication” are examples of “firststate” and “second state”, respectively. “Readable withoutauthentication” and “Readable with authentication” are examples of“first setting information” and “second setting information”,respectively. The Permission change instruction of T722 of FIG. 16 is anexample of “execution request (setting change request)”. In one aspect,the L2CAP Link of T334 of FIG. 11 cited in FIG. 17 and the L2CAP Link ofT234 of FIG. 10 cited in FIG. 16 are examples of “second wirelessconnection” and “third wireless connection”, respectively. In anotheraspect, the L2CAP Link of T234 of FIG. 10 cited in FIG. 16 and the L2CAPLink of T334 of FIG. 11 cited in FIG. 17 are examples of “first wirelessconnection” and “second wireless connection”, respectively. In oneaspect, T782 of FIG. 17 is an example of “execute the communicationusing the specific authentication information” of “function executingdevice”, and T742 of FIG. 17 is an example of “supply a second command”of “terminal device”. In another aspect, T782 of FIG. 17 is an exampleof “execute the target process” of “function executing device”, and T742of FIG. 17 is an example of “supply a command” of “terminal device”.

Fourth Embodiment Case for AP Connection; FIG. 16, FIG. 18

The fourth embodiment is a variant of the third embodiment. The fourthembodiment is the same as the third embodiment, except that a part ofthe processes for the case of AP connection is different.

As shown in FIG. 16, in the present embodiment, the app 38 and theprinter 100 do not execute the processes of T726 to T730B of FIG. 16.That is, the printer 100 does not disconnect the L2CAP Link that wasestablished in response to the connection start command of T712, andchanges the APers of the AC 138C to “Readable with authentication (orWriteable with authentication)” in a state where the establishment ofthis Link is maintained (T732).

Upon receiving the Write Response signal in T728, the app 38 executes aprocess of T800, as shown in FIG. 18. T800 is the same as T402 of FIG.12, except that encryption by using the Key is not executed.

Upon receiving the Type_Req signal from the terminal 10 in T800, theprinter 100 specifies the Handle “n10” corresponding to the UUID “bbb1”included in the Type_Req signal from among the data group includedwithin the Handle range indicated by the initial Handle “n5” and thelast Handle “n13” included in the Type_Req signal. Here, the APercorresponding to the specified Handle “n10” indicates “Readable withauthentication”. At this point of time, the Key for encryptinginformation according to the SMP has not been created yet. For thisreason, the printer 100 cannot encrypt information according to the SMP,and therefore sends an Error Response signal to the terminal 10 in T802.

T868 to T882 are the same as T768 to T782 of FIG. 17. Upon completion ofthe authentication communication of T882, the OS 36 sends again the sameType_Req signal as that of T800 to the printer 100 in T890. It should benoted that, as described above, the information in this Type_Req signalis encrypted by the Key. As a result, in T892, the OS 36 receives the APstate information (here, “Enable”) encrypted by the Key from the printer100 and supplies the received information to the app 38.

When the encrypted AP state information is obtained from the OS 36 inT892, the same processes as T406 to T454 of FIG. 12 are executed.Thereby, establishment of an AP connection and printing are executed.

The present embodiment assumes that the processing capacity of the CPU132 of the printer 100 is relatively high. In a case where theprocessing capacity of the CPU 132 is relatively high, the CPU 132 canchange the values in the APers in a state where establishment of theL2CAP Link is maintained. For example, in a case where the processingcapacity of the CPU 132 is relatively low, the CPU 132 cannot change thevalues in the APers in the state where establishment of the L2CAP Linkis maintained. In such a case, it is effective to adopt a configurationin which the values in the APers are changed after the L2CAP Link isdisconnected, as in the third embodiment. By contrast, the presentembodiment takes into account that the processing capacity of the CPU132 is relatively high and therefore omits the processes ofdisconnecting the L2CAP Link and re-establishing the L2CAP Link. Thiscan prevent execution of the unnecessary processes.

Correspondence Relationships

In one aspect, the L2CAP Link of T234 of FIG. 10 cited in FIG. 16 is anexample of “second wireless connection”. T882 of FIG. 18 is an exampleof “execute the communication using the specific authenticationinformation” of “function executing device”, and T712 of FIG. 16 is anexample of “supply a second command” of “terminal device”. In anotheraspect, the L2CAP Link of T234 of FIG. 10 cited in FIG. 16 is an exampleof “first wireless connection”. T882 of FIG. 18 is an example of“execute the target process” of “function executing device”, and T712 ofFIG. 16 is an example of “supply a command” of “terminal device”.

Fifth Embodiment

The fifth embodiment is the same as the first embodiment, except that itis possible to execute printing by using BLE communication. As shown inFIG. 9 and FIG. 10, in the present embodiment, a BLE connection buttonis included in the function screen. The BLE connection button is abutton for accepting an instruction to execute encryption by using a Keyof the BLE and to send print data to the printer 100. Further, althoughillustration is omitted, a PS group of the present embodiment includes,in addition to the PSs 138A to 138F, a PS for receiving print data fromthe terminal 10 (hereinafter termed “PPS”). The PPS includes aCharacteristic that defines reception (that is, writing) of print data.

Case for Printing; FIG. 10, FIG. 11

In the present case, the plurality of functions that the printer 100 iscapable of executing (that is, the print function, the AP connection,the WFD connection) includes the print function which is desired by theuser. In this case, in T200, the user selects the BLE connection buttonin the function screen.

In the present case, in T200, the app 38 accepts selection of the BLEconnection button. Thereby, as in the first embodiment, the processes ofT212 to T262 and the processes of T312 to T380 of FIG. 11 are executed.

Upon obtaining the connection completion notification from the OS 36 inT380, the app 38 displays a print screen on the display unit 12 in T390.Then, the app 38 accepts a print operation from the user in the printscreen.

In T392, the app 38 obtains a second list of the PPS from the OS 36 andsends, to the printer 100 via the OS 36, a Write Request signal thatincludes a Handle corresponding to the UUID in the second list and printdata. Here, the print data in this signal is encrypted by the Key.

Upon receiving the Write Request signal from the terminal 10 in T392,the printer 100 decrypts the information in the Write Request signal andobtains the print data in T394. Then, the printer 100 prints an imagecorresponding to image information in the print data in accordance withthe print settings in the print data.

According to the present case, the terminal 10 can encrypt the printdata by using the Key and send it to the printer 100 (T392). Therefore,acquisition of the information in the print data by a third party can beprevented.

Correspondence Relationships

The print function, the selection of the BLE connection button in thefunction screen, and the print data of T392 are examples of “firstfunction”, “first execution instruction”, and “first function executioninformation”, respectively.

(Variant 1) “Function executing device” may not be the printer 100, butmay be, for example, a scanner, a FAX device, or a multi-functiondevice. For example, in a case where “function executing device” is ascanner, the scanner may receive a scan request from the terminal 10 inT392 of FIG. 11 in the case where the BLE connection button in thefunction screen is selected in T200 of FIG. 10. Then, in T394, thescanner may execute scan according to the scan settings in the scanrequest to create scan data, encrypt the created scan data by using theKey, and send it to the terminal 10. In the present variant, the scandata and the function of sending the scan data are examples of “firstfunction execution information” and “first function”, respectively.

(Variant 2) “Terminal device” may not be the terminal 10, but may be astationary terminal device such as a desktop PC.

(Variant 3) “First wireless interface” may not be the BT I/F, but may bean I/F configured to execute wireless communication according to acommunication scheme other than the BT scheme (e.g., Zigbee (registeredtrademark) scheme, Wi-Fi scheme). For example, in a case where the“first wireless interface” is an I/F configured to execute wirelesscommunication according to the Wi-Fi scheme, a PIN code according to WPS(Wi-Fi Protected Setup) scheme is an example of “specific authenticationinformation”.

(Variant 4) In the above embodiments, the terminal 10 receives thefunction information FI from the printer 100 (T184 of FIG. 9), anddisplays the function screen that includes the character informationindicated by the function information FI (T190). Instead, the terminal10 may receive specific information (e.g., model name) from the printer100 and may use the received specific information to specify thefunction information FI corresponding to the printer 100 from the pluralpieces of function information stored in the terminal 10. Then, theterminal 10 may display a function screen that includes characterinformation indicated by the specified function information FI. In thepresent variant, the specific information is an example of “screendisplay information”.

(Variant 5) In the above first embodiment, the printer 100 displays thePIN code “1234” (T352 of FIG. 11), and the terminal 10 receives input ofthe PIN code “1234” (T360). Instead, the printer 100 may display a codeimage (e.g., bar code, QR code (registered trademark)) in which the PINcode “1234” has been encoded, and the terminal 10 may decrypt this codeimage to obtain the PIN code “1234”. Further, the terminal 10 may useNFC (Near field communication) communication or the like to obtain thePIN code “1234” from an IC tag of the printer 100.

(Variant 6) In the above first embodiment, the printer 100 prepares thePIN code “1234” (T352 of FIG. 11). Instead, the terminal 10 may preparethe PIN code “1234”, and this PIN code “1234” may be inputted to theprinter 100. Generally speaking, “specific authentication information”and “first code” may be prepared by one device among the functionexecuting device and the terminal device. Further, for example, in acase where the terminal 10 prepares the PIN code “1234”, the printer 100sends the Pairing Request signal to the terminal 10 and receives thePairing Response signal from the terminal 10 before executing theauthentication communication according to the SMP. Then, in response toreceiving the Pairing Response signal, the printer 100 executes theauthentication communication according to the SMP. In the presentvariant, the Pairing Response signal is an example of “executionrequest”.

(Variant 7) In the above first embodiment, the printer 100 operates asthe G/O, and the terminal 10 prepares the public key (T556 of FIG. 13).Instead, the terminal 10 may operate as the G/O, and the printer 100 mayprepare a public key. Then, the terminal 10 may encrypt the WFDinformation stored in the terminal 10 by using the public key receivedfrom the printer 100. Generally speaking, “specific authenticationinformation” and “public key” may be prepared by one device among thefunction executing device and the terminal device.

(Variant 8) “specific Read request” may not be the Type_Req signal, butmay be another signal defined by the ATT (e.g., Read Request signal,Read Blob Request signal, Read Multiple Request signal).

(Variant 9) In the above embodiments, the app 38 sends the Write Requestsignal to the printer 100 in T186 of FIG. 9, etc. Instead, the app 38may send another signal defined by the ATT (e.g., Write Command signal,Signed Write Command signal) to the printer 100.

(Variant 10) In the above first embodiment, in the case where the errorinformation button is selected in the function screen (T630 of FIG. 15),the printer 100 sends the error URL to the terminal 10 withoutencrypting the information according to the SMP (T664). Instead, forexample, a print button may be included in the function screen, and in acase where the print button in the function screen is selected, theprinter 100 may receive print data from the terminal 10 withoutencryption of the information according to the SMP. In the presentvariant, the print function and the print data are examples of “secondfunction” and “second function execution information”.

(Variant 11) In the above first embodiment, the terminal 10 displays theerror URL (T672 of FIG. 15). Instead, the terminal 10 may display amessage indicating the error state. In the present variant, this messageis an example of “error information”. Further, the terminal 10 mayreceive specific information (e.g., a number indicating the type oferror) from the printer 100 and use the received specific information tospecify an error URL that corresponds to the current error state of theprinter 100 from among a plurality of error URLs stored in the terminal10. Then, the terminal 10 may display the specified error URL. In thepresent variant, the specific information is an example of “errordisplay information”.

(Variant 12) In the above fourth embodiment, the printer 100 receivesthe Permission change instruction from the terminal 10 (T722 of FIG. 16)and changes the value in the APer (T732). Instead, the printer 100 mayreceive from the terminal 10 a stop instruction for stopping the sendingof the ADV signal and may stop the sending of the ADV signal inaccordance with the received stop instruction. Then, instead of T800 ofFIG. 18, the printer 100 may receive a Type_Req signal including theUUID “0x2A00” from the terminal 10. Thereby, authenticationcommunication may be executed due to the APer indicating “Readablewithout authentication when discoverable” and the printer 100 being inthe non-Discoverable state. In the present variant, the stopinstruction, the Discoverable state, and the non-Discoverable state areexamples of “setting change request”, “first state”, and “second state”,respectively.

(Variant 13) In the above first embodiment, the OS 36 sends the Type_Reqsignals for the first type of PS (e.g. T142A of FIG. 8) and sends theType_Req signals for the second type of PS (e.g., T176A of FIG. 8).Instead, the OS 36 may send the Type_Req signals only for the first typeof PS, and may not send Type_Req signal for the second type of PS.

(Variant 14) The processes of T450 to T454 of FIG. 12 may not beexecuted. In the present variant, communication of “relation data” maynot be executed.

(Variant 15) In the above third and fourth embodiments, the printer 100changes the values indicating “Readable (or Writeable) withoutauthentication” of the APers in the AP 138C to the values indicating“Readable (or Writeable) with authentication”. Instead, the printer 100may change all the values indicating “Readable (or Writeable) withoutauthentication” of the APers in the second type of PS to the valuesindicating “Readable (or Writeable) with authentication”.

(Variant 16) The OS 36 may be Android (registered trademark), forexample. In this case, T138, T142A, T142C, T176A, T176C of FIG. 8; T242Cof FIG. 10; T342C, T372 of FIG. 11; T652C of FIG. 15; T756A, T756C, T790of FIG. 17, etc. are not executed. Therefore, in the fourth embodiment,the process of T137 (also the processes of T137 to T178 of FIG. 8 citedin FIG. 16) may not be executed, for example. That is, since the OS 36does not automatically obtain the information of the PS group inresponse to obtaining the connection start command, the sending of theADV signal may not be resumed. In the present variant, the APers of theFS 138B indicate “Readable without authentication”, thus the ErrorResponse signal is not sent even when the Type_Req signal is received inT182 of FIG. 9, and the authentication communication is not executedbefore the function screen is displayed, for example. Then, due to theAPers of the AC 138C being changed to “Readable with authentication” byT732 of FIG. 16, the authentication communication is executed (T802 toT880 of FIG. 18). In the present variant, a state where the APers of theFS 138B indicate “Readable without authentication” and a state where theAPers of the AC 138C indicate “Readable with authentication” areexamples of “first state” and “second state”, respectively. Further, asa further variant, the APer corresponding to the Handle “n1” of the FS138B may remain unchanged from “Readable without authentication”, andthe APer corresponding to the Handle “n10” of the AC 138C may remainunchanged from “Readable with authentication”. Then, the processes ofT722, T724, T732 of FIG. 16 may not be executed. In the this variant,“setting change request” can be omitted.

(Variant 17) In T137 of FIG. 8, the printer 100 sends the ADV signalincluding the connection non-allowance parameter “ADV_NONCONN_IND”.Instead, the printer 100 may send an ADV signal including the connectionallowance parameter “ADV_IND”. In the present variant, “cause the firstwireless interface to start sending a second Advertise signal” in oneaspect can be omitted. Further, in the present variant, “non-allowanceinformation” in another aspect can be omitted.

(Variant 18) In the above first and second embodiments, the OS 36 isiOS, and the authentication communication is not executed due to thesending of the ADV signal being resumed (T537 of FIG. 13 or T577 of FIG.14) after the WFD connection button has been selected. Instead, in acase where the OS 36 is Android (registered trademark), the OS 36 doesnot automatically obtain the information of the PS group in response toobtaining the connection start command, and therefore the sending of theADV signal (that is, the processes of T537 of FIG. 13 or T577 of FIG.14) is not resumed. In this case, due to the APers of the AC 138Cindicating “Readable (or Writeable) without authentication”, theauthentication communication is not executed. In the present variant,“without executing the communication using the specific code” isrealized by the APers indicating “Readable (or Writeable) withoutauthentication”.

(Variant 19) In the above embodiments, the printer 100 and the terminal10 are capable of establishing both an AP connection and a WFDconnection. Instead, the printer 100 and the terminal 10 may be capableof establishing either one of an AP connection or a WFD connection.

(Variant 20) The process of FIG. 15 may not be executed. In the presentvariant, “establish a fifth wireless connection” and “executecommunication of second function execution information” in one aspectcan be omitted. Further, in the present variant, “establish a fourthwireless connection” and “execute communication of second functionexecution information” in another aspect can be omitted.

(Variant 21) In the above first embodiment, the printer 100 changes theresume flag 162 from “ON” to “OFF” (T262 of FIG. 10) and does not resumesending the ADV signal after having stopped sending the ADV signal (T336of FIG. 11) in order to execute the authentication communication.Instead, the printer 100 may maintain the resume flag 162 at “ON” andmay start sending an ADV signal that does not include the predeterminedvalue related to being in the Discoverable state after having stoppedsending ADV signal. In this case as well, the state of the printer 100becomes the non-Discoverable state, as a result of which theauthentication communication is executed. In the present variant, astate where the ADV signal not including the predetermined value is sendis an example of “second state”.

(Variant 22) In the above embodiments, the printer 100 establishes theL2CAP Link (T134 of FIG. 8) and uses the established L2CAP Link to sendthe function information FI to the terminal 10 (T184). Instead, theprinter 100 may send an ADV signal including the function information FIto the terminal 10. In this case, the processes of T130 to T180 of FIG.8 are not executed, the processes from T182 onward may be executed in acase where the connection button in the connection confirmation screenis selected, and the function screen may be displayed by using thefunction information FI in the ADV signal. In the present variant,reception of the ADV signal including the function information FI is anexample of “send screen display information to a terminal device via thefirst wireless interface without executing a target process”, and thefunction information H in this ADV signal is an example of “screendisplay information”.

(Variant 23) In the above embodiments, the respective processes of FIGS.7 to 18 are implemented by the CPU 132 of the printer 100 executing theprogram 136 (that is, software) and the CPU 32 of the terminal 10executing the programs 36 and 38. Instead, one or more of the processesmay be implemented by hardware such as a logic circuit.

Various aspects are disclosed as following.

One aspect of a function executing device may comprise: a first wirelessinterface; a processor; and a storage storing computer-readableinstructions, wherein the computer-readable instructions, when executedby the processor, cause the function executing device to: send screendisplay information to a terminal device via the first wirelessinterface without executing a target process using specificauthentication information that is prepared by one device among thefunction executing device and the terminal device, wherein the screendisplay information is for causing the terminal device to display afunction screen indicating one or more functions that the functionexecuting device is capable of executing; in a case where a firstexecution instruction for causing the function executing device toexecute a first function is inputted to the terminal device after thefunction screen has been displayed in the terminal device, establish afirst wireless connection with the terminal device via the firstwireless interface; receive an execution request from the terminaldevice via the first wireless interface by using the first wirelessconnection without executing the target process using the specificauthentication information, the execution request being for causing thefunction executing device to execute the target process using thespecific authentication information; execute the target process usingthe specific authentication information in response to receiving theexecution request from the terminal device; and after the target processusing the specific authentication information has been executed, executecommunication of first function execution information for executing thefirst function via the first wireless interface with the terminaldevice.

The first wireless interface may be an interface configured to executewireless communication according to a Bluetooth (registered trademark)scheme.

The function executing device further may comprise a second wirelessinterface different from the first wireless interface, the firstfunction may be a function for establishing a wireless connection viathe second wireless interface with an external device, and the firstfunction execution information may include information for establishingthe wireless connection via the second wireless interface with theexternal device.

The one or more functions may include at least one function among aprint function and a scan function, and the first function may be afunction for establishing the wireless connection via the secondwireless interface with the external device in order to executecommunication of relation data which is related to the at least onefunction with the terminal device.

The first function may be at least one function among a print functionand a scan function, and the first function execution information mayinclude relation data which is related to the at least one function.

The function executing device may be configured to be set in one of afirst state and a second state, wherein the first state may be a statewhere the function executing device is not capable of executing thetarget process using the specific authentication information, and thesecond state may be a state where the function executing device iscapable of executing the target process using the specificauthentication information, the screen display information may be sentto the terminal device while the function execution device is set in thefirst state, the execution request may be a setting change request beingfor setting the function executing device to the second state instead ofthe first state, and the target process using the specificauthentication information may be executed with the terminal deviceafter the function executing device has been set to the second stateinstead of the first state in response to receiving the setting changerequest from the terminal device.

The computer-readable instructions, when executed by the processor,further may cause the function executing device to: disconnect the firstwireless connection after the setting change request has been receivedfrom the terminal device; and after the first wireless connection hasbeen disconnected, establish a second wireless connection with theterminal device via the first wireless interface, wherein thecommunication of the first function execution information may beexecuted by using the second wireless connection.

The communication of the first function execution information may beexecuted by using the first wireless connection.

The first wireless interface may be an interface configured to executewireless communication according to a Bluetooth (registered trademark)scheme, and the first state may include a state where the first wirelessinterface repeatedly sends an Advertise signal according to theBluetooth scheme.

The target process using the specific authentication information may beexecuted in a case where a specific Read request according to theBluetooth scheme is received from the terminal device and the firstwireless interface is in a state where the first wireless interfacestops sending the Advertise signal, the target process using thespecific authentication information may be not executed in a case wherethe specific Read request is received from the terminal device and thefirst wireless interface repeatedly sends the Advertise signal, and in acase where the specific Read request is received from the terminaldevice while the function executing device is set in the first statewhere the first wireless interface is in a state where the firstwireless interface repeatedly sends the Advertise signal, the screendisplay information may be sent to the terminal device without executingthe target process using the specific authentication information.

The first state may include a state where the first wireless interfacerepeatedly sends the Advertise signal that includes non-allowinginformation that does not allow establishment of the wireless connectionaccording to the Bluetooth scheme.

The target process using the specific authentication information may beexecuted in a case where the first wireless interface stops is in astate where the first wireless interface sending the Advertise signal,the target process using the specific authentication information may notbe executed in a case where the first wireless interface is in a statewhere the first wireless interface repeatedly sends the Advertisesignal, the second state may include a state where the first wirelessinterface stops sending the Advertise signal, the setting change requestmay be a request for causing the first wireless interface not to sendthe Advertise signal, the screen display information may be sent to theterminal device without executing the target process using the specificauthentication information while the function executing device is set inthe first state where the first wireless interface repeatedly sends theAdvertise signal, and the target process using the specificauthentication information may be executed while the function executingdevice is set in the second state where the first wireless interfacestops sending the Advertise signal.

The first wireless interface may be an interface configured to executewireless communication according to a Bluetooth (registered trademark)scheme, the first state may include a state where first settinginformation is stored in a memory, the first setting information mayindicate a setting for, in a case where a specific Read requestaccording to the Bluetooth scheme is received from the terminal device,sending a response for the specific Read request without executing thetarget process using the specific authentication information, the secondstate may include a state where second setting information is stored inthe memory, the second setting information may indicate a setting forexecuting the target process using the specific authenticationinformation in a case where the specific Read request is received fromthe terminal device and sending the response for the specific Readrequest in a case where an authentication using the specificauthentication information is succeeds, the setting change request maybe a request for changing the first setting information in the memory tothe second setting information, in a case where the specific Readrequest is received from the terminal device while the first settinginformation is stored in the memory, the screen display information maybe sent to the terminal device as the response for the specific Readrequest without executing the target process using the specificauthentication information, and the target process using the specificauthentication information may be executed in a case where the specificRead request is received from the terminal device while the secondsetting information is stored in the memory.

The specific authentication information may be a first code that isprepared by the one device among the function executing device and theterminal device, in a case second code is inputted in the other deviceamong the function executing device and the terminal device after thefirst code has been displayed in the one device, the target processusing the specific authentication information may include sendingrelated information which is related to the second code from the otherdevice to the one device, and in a case where the one device determinesthat the first code matches the second code after communication of therelated information has been executed, the communication of the firstfunction execution information may be executed with the terminal devicevia the first wireless interface.

The specific authentication information may be a public key that isprepared by the one device among the function executing device and theterminal device, the execution request may be a request for sending thepublic key from the one device to the other device among the functionexecution device and the terminal device, and the first functionexecution information bay be generated by the other device by the targetprocess being executed using the public key.

The computer-readable instructions, when executed by the processor,further may cause the function executing device to: disconnect the firstwireless connection in a case where the execution request is receivedfrom the terminal device; and after the first wireless connection hasbeen disconnected, establish a third wireless connection with theterminal device via the first wireless interface, the communication ofthe first function execution information may be executed by using thethird wireless connection.

The communication of the first function execution information may beexecuted by using the first wireless connection.

The first wireless interface may be an interface configured to executewireless communication according to Bluetooth (registered trademark)scheme, the screen display information may be sent to the terminaldevice without executing either the target process using the public keywhich is the specific authentication information or communication usinga specific code according to the Bluetooth scheme, and the targetprocess using the public key may be executed without executing thecommunication using the specific code.

The communication using the specific code may not be executed in a casewhere the first wireless interface repeatedly sends an Advertise signalaccording to the Bluetooth scheme, the screen display information may besent to the terminal device without executing the communication usingthe specific code while the function executing device is set in a statewhere the first wireless interface repeatedly sends the Advertisesignal, the target process using the public key may be executed withoutexecuting the communication using the specific code while the functionexecuting device is set in the state where the first wireless interfacerepeatedly sends the Advertise signal, and the communication of thefirst function execution information may be executed without executingthe communication using the specific code while the function executingdevice is set in the state where the first wireless interface repeatedlysends the Advertise signal.

The computer-readable instructions, when executed by the processor,further may cause the function executing device to: in a case where asecond execution instruction for causing the function executing deviceto execute a second function different from the first function isinputted to the terminal device after the function screen has beendisplayed in the terminal device, establish a fourth wireless connectionwith the terminal device via the first wireless interface, and executecommunication of second function execution information for executing thesecond function with the terminal device via the first wirelessinterface by using the fourth wireless connection without executing thetarget process using the specific authentication information.

The second function may be a function of sending error displayinformation to the terminal device, the error display information beingfor causing the terminal device to display error information related toan error state in a case where the function executing device is in theerror state, and the communication of the second function executioninformation may include receiving a request for sending the errordisplay information to the terminal device as the second functionexecution information from the terminal device.

One aspect of non-transitory computer-readable medium storingcomputer-readable instructions for a terminal device is disclosedherein. The computer-readable instructions, when executed by a processorof the terminal device, may cause the terminal device to: receive screendisplay information from a function executing device via a firstwireless interface of the terminal device without executing a targetprocess using specific authentication information that is prepared byone device among the function executing device and the terminal device,wherein the screen display information is for causing the terminaldevice to display a function screen indicating one or more functionsthat the function executing device is capable of executing; in a casewhere the screen display information is received from the functionexecuting device, cause a display unit of the terminal device to displaythe function screen; in a case where a first execution instruction forcausing the function executing device to execute a first function isinputted to the terminal device after the function screen has beendisplayed in the display unit, supply a command to an Operating System(OS) program of the terminal device, wherein the command is forestablishing a first wireless connection with the function executingdevice via the first wireless interface; send an execution request tothe function executing device via the first wireless interface by usingthe first wireless connection, the execution request being for causingthe function executing device to execute the target process using thespecific authentication information; and after the target process usingthe specific authentication information has been executed, executecommunication of first function execution information for executing thefirst function via the first wireless interface with the functionexecuting device.

The computer-readable instructions, when executed by the processor,further may cause the terminal device to: in a case where a secondexecution instruction for causing the function executing device toexecute a second function different from the first function is inputtedto the terminal device after the function screen has been displayed inthe terminal device, establish a specific wireless connection with thefunction executing device via the first wireless interface, and execute,with the function executing device, communication of second functionexecution information for executing the second function via the firstwireless interface by using the specific wireless connection withoutexecuting the target process using the specific authenticationinformation.

The second function may be a function of sending error displayinformation to the terminal device, the error display information beingfor causing the terminal device to display error information related toan error state in a case where the function executing device is in theerror state, and the communication of the second function executioninformation may include receiving a request for sending the errordisplay information to the terminal device as the second functionexecution information from the terminal device.

What is claimed is:
 1. A function executing device comprising: a firstwireless interface; a processor; and a storage storing computer-readableinstructions, wherein the computer-readable instructions, when executedby the processor, cause the function executing device to: send screendisplay information to a terminal device via the first wirelessinterface without executing a target process using specificauthentication information that is prepared by one device among thefunction executing device and the terminal device, wherein the screendisplay information is for causing the terminal device to display afunction screen indicating one or more functions that the functionexecuting device is capable of executing; in a case where a firstexecution instruction for causing the function executing device toexecute a first function is inputted to the terminal device after thefunction screen has been displayed in the terminal device, establish afirst wireless connection with the terminal device via the firstwireless interface; receive an execution request from the terminaldevice via the first wireless interface by using the first wirelessconnection without executing the target process using the specificauthentication information, the execution request being for causing thefunction executing device to execute the target process using thespecific authentication information; execute the target process usingthe specific authentication information in response to receiving theexecution request from the terminal device; and after the target processusing the specific authentication information has been executed, executecommunication of first function execution information for executing thefirst function via the first wireless interface with the terminaldevice.
 2. The function executing device as in claim 1, wherein, thefirst wireless interface is an interface configured to execute wirelesscommunication according to a Bluetooth (registered trademark) scheme. 3.The function executing device as in claim 1, wherein, the functionexecuting device further comprises a second wireless interface differentfrom the first wireless interface, the first function is a function forestablishing a wireless connection via the second wireless interfacewith an external device, and the first function execution informationincludes information for establishing the wireless connection via thesecond wireless interface with the external device.
 4. The functionexecuting device as in claim 3, wherein, the one or more functionsinclude at least one function among a print function and a scanfunction, and the first function is a function for establishing thewireless connection via the second wireless interface with the externaldevice in order to execute communication of relation data which isrelated to the at least one function with the terminal device.
 5. Thefunction executing device as in claim 1, wherein, the first function isat least one function among a print function and a scan function, andthe first function execution information includes relation data which isrelated to the at least one function.
 6. The function executing deviceas in claim 1, wherein, the function executing device is configured tobe set in one of a first state and a second state, wherein the firststate is a state where the function executing device is not capable ofexecuting the target process using the specific authenticationinformation, and the second state is a state where the functionexecuting device is capable of executing the target process using thespecific authentication information, the screen display information issent to the terminal device while the function execution device is setin the first state, the execution request is a setting change requestbeing for setting the function executing device to the second stateinstead of the first state, and the target process using the specificauthentication information is executed with the terminal device afterthe function executing device has been set to the second state insteadof the first state in response to receiving the setting change requestfrom the terminal device.
 7. The function executing device as in claim6, wherein, the computer-readable instructions, when executed by theprocessor, further cause the function executing device to: disconnectthe first wireless connection after the setting change request has beenreceived from the terminal device; and after the first wirelessconnection has been disconnected, establish a second wireless connectionwith the terminal device via the first wireless interface, wherein thecommunication of the first function execution information is executed byusing the second wireless connection.
 8. The function executing deviceas in claim 6, wherein, the communication of the first functionexecution information is executed by using the first wirelessconnection.
 9. The function executing device as in claim 6, wherein, thefirst wireless interface is an interface configured to execute wirelesscommunication according to a Bluetooth (registered trademark) scheme,and the first state includes a state where the first wireless interfacerepeatedly sends an Advertise signal according to the Bluetooth scheme.10. The function executing device as in claim 9, wherein, the targetprocess using the specific authentication information is executed in acase where a specific Read request according to the Bluetooth scheme isreceived from the terminal device and the first wireless interface is ina state where the first wireless interface stops sending the Advertisesignal, the target process using the specific authentication informationis not executed in a case where the specific Read request is receivedfrom the terminal device and the first wireless interface repeatedlysends the Advertise signal, and in a case where the specific Readrequest is received from the terminal device while the functionexecuting device is set in the first state where the first wirelessinterface is in a state where the first wireless interface repeatedlysends the Advertise signal, the screen display information is sent tothe terminal device without executing the target process using thespecific authentication information.
 11. The function executing deviceas in claim 10, wherein, the first state includes a state where thefirst wireless interface repeatedly sends the Advertise signal thatincludes non-allowing information that does not allow establishment ofthe wireless connection according to the Bluetooth scheme.
 12. Thefunction executing device as in claim 9, wherein, the target processusing the specific authentication information is executed in a casewhere the first wireless interface stops is in a state where the firstwireless interface sending the Advertise signal, the target processusing the specific authentication information is not be executed in acase where the first wireless interface is in a state where the firstwireless interface repeatedly sends the Advertise signal, the secondstate includes a state where the first wireless interface stops sendingthe Advertise signal, the setting change request is a request forcausing the first wireless interface not to send the Advertise signal,the screen display information is sent to the terminal device withoutexecuting the target process using the specific authenticationinformation while the function executing device is set in the firststate where the first wireless interface repeatedly sends the Advertisesignal, and the target process using the specific authenticationinformation is executed while the function executing device is set inthe second state where the first wireless interface stops sending theAdvertise signal.
 13. The function executing device as in claim 6,wherein, the first wireless interface is an interface configured toexecute wireless communication according to a Bluetooth (registeredtrademark) scheme, the first state includes a state where first settinginformation is stored in a memory, the first setting informationindicates a setting for, in a case where a specific Read requestaccording to the Bluetooth scheme is received from the terminal device,sending a response for the specific Read request without executing thetarget process using the specific authentication information, the secondstate includes a state where second setting information is stored in thememory, the second setting information indicates a setting for executingthe target process using the specific authentication information in acase where the specific Read request is received from the terminaldevice and sending the response for the specific Read request in a casewhere an authentication using the specific authentication information issucceeds, the setting change request is a request for changing the firstsetting information in the memory to the second setting information, ina case where the specific Read request is received from the terminaldevice while the first setting information is stored in the memory, thescreen display information is sent to the terminal device as theresponse for the specific Read request without executing the targetprocess using the specific authentication information, and the targetprocess using the specific authentication information is executed in acase where the specific Read request is received from the terminaldevice while the second setting information is stored in the memory. 14.The function executing device as in claim 1, wherein, the specificauthentication information is a first code that is prepared by the onedevice among the function executing device and the terminal device, in acase second code is inputted in the other device among the functionexecuting device and the terminal device after the first code has beendisplayed in the one device, the target process using the specificauthentication information includes sending related information which isrelated to the second code from the other device to the one device, andin a case where the one device determines that the first code matchesthe second code after communication of the related information has beenexecuted, the communication of the first function execution informationis executed with the terminal device via the first wireless interface.15. The function executing device as in claim 1, wherein, the specificauthentication information is a public key that is prepared by the onedevice among the function executing device and the terminal device, theexecution request is a request for sending the public key from the onedevice to the other device among the function execution device and theterminal device, and the first function execution information isgenerated by the other device by the target process being executed usingthe public key.
 16. The function executing device as in claim 15,wherein, the computer-readable instructions, when executed by theprocessor, further cause the function executing device to: disconnectthe first wireless connection in a case where the execution request isreceived from the terminal device; and after the first wirelessconnection has been disconnected, establish a third wireless connectionwith the terminal device via the first wireless interface, thecommunication of the first function execution information is executed byusing the third wireless connection.
 17. The function executing deviceas in claim 15, wherein, the communication of the first functionexecution information is executed by using the first wirelessconnection.
 18. The function executing device as in claim 15, wherein,the first wireless interface is an interface configured to executewireless communication according to Bluetooth (registered trademark)scheme, the screen display information is sent to the terminal devicewithout executing either the target process using the public key whichis the specific authentication information or communication using aspecific code according to the Bluetooth scheme, and the target processusing the public key is executed without executing the communicationusing the specific code.
 19. The function executing device as in claim18, wherein, the communication using the specific code is not beexecuted in a case where the first wireless interface repeatedly sendsan Advertise signal according to the Bluetooth scheme, the screendisplay information is sent to the terminal device without executing thecommunication using the specific code while the function executingdevice is set in a state where the first wireless interface repeatedlysends the Advertise signal, the target process using the public key isexecuted without executing the communication using the specific codewhile the function executing device is set in the state where the firstwireless interface repeatedly sends the Advertise signal, and thecommunication of the first function execution information is executedwithout executing the communication using the specific code while thefunction executing device is set in the state where the first wirelessinterface repeatedly sends the Advertise signal.
 20. The functionexecuting device as in claim 1, wherein, the computer-readableinstructions, when executed by the processor, further cause the functionexecuting device to: in a case where a second execution instruction forcausing the function executing device to execute a second functiondifferent from the first function is inputted to the terminal deviceafter the function screen has been displayed in the terminal device,establish a fourth wireless connection with the terminal device via thefirst wireless interface, and execute communication of second functionexecution information for executing the second function with theterminal device via the first wireless interface by using the fourthwireless connection without executing the target process using thespecific authentication information.
 21. The function executing deviceas in claim 20, wherein, the second function is a function of sendingerror display information to the terminal device, the error displayinformation being for causing the terminal device to display errorinformation related to an error state in a case where the functionexecuting device is in the error state, and the communication of thesecond function execution information includes receiving a request forsending the error display information to the terminal device as thesecond function execution information from the terminal device.
 22. Anon-transitory computer-readable medium storing computer-readableinstructions for a terminal device, the computer-readable instructions,when executed by a processor of the terminal device, causing theterminal device to: receive screen display information from a functionexecuting device via a first wireless interface of the terminal devicewithout executing a target process using specific authenticationinformation that is prepared by one device among the function executingdevice and the terminal device, wherein the screen display informationis for causing the terminal device to display a function screenindicating one or more functions that the function executing device iscapable of executing; in a case where the screen display information isreceived from the function executing device, cause a display unit of theterminal device to display the function screen; in a case where a firstexecution instruction for causing the function executing device toexecute a first function is inputted to the terminal device after thefunction screen has been displayed in the display unit, supply a commandto an Operating System (OS) program of the terminal device, wherein thecommand is for establishing a first wireless connection with thefunction executing device via the first wireless interface; send anexecution request to the function executing device via the firstwireless interface by using the first wireless connection, the executionrequest being for causing the function executing device to execute thetarget process using the specific authentication information; and afterthe target process using the specific authentication information hasbeen executed, execute communication of first function executioninformation for executing the first function via the first wirelessinterface with the function executing device.
 23. The non-transitorycomputer-readable medium as in claim 22, wherein, the computer-readableinstructions, when executed by the processor, further cause the terminaldevice to: in a case where a second execution instruction for causingthe function executing device to execute a second function differentfrom the first function is inputted to the terminal device after thefunction screen has been displayed in the terminal device, establish aspecific wireless connection with the function executing device via thefirst wireless interface; and execute, with the function executingdevice, communication of second function execution information forexecuting the second function via the first wireless interface by usingthe specific wireless connection without executing the target processusing the specific authentication information.
 24. The non-transitorycomputer-readable medium as in claim 23, wherein, the second function isa function of sending error display information to the terminal device,the error display information being for causing the terminal device todisplay error information related to an error state in a case where thefunction executing device is in the error state, and the communicationof the second function execution information includes receiving arequest for sending the error display information to the terminal deviceas the second function execution information from the terminal device.